Reverse proxy

La funzionalità reverse proxy è utile quando si desidera accedere a siti interni dalla rete esterna.

Regole di virtual host e path

Una richiesta di un client Web può essere inoltrata a un altro server Web in modo trasparente, in base a due tipi di regole di corrispondenza:

  • Richieste che corrispondono a un percorso URL, come «http://mydomain.com/mysite``
  • Richieste che corrispondono a un nome virtual host , come http://my.secondary-domain.com`

Lo scenario tipico per una URL path rule è la seguente:

In questo scenario creare un nuovo record nella pagina Reverse proxy. Impostare il Name dell’elemento a mysite e Target URL a http://192.168.2.100.

Se sono consentite solo connessioni cifrate, abilitare l’opzione Richiedi connessione SSL cifrata.

Si può restringere l’accesso solo ai client appartenenti ad alcune reti, specificando un elenco separato da virgola di reti in notazione CIDR nel campo Accedi da reti CIDR.

Una virtual host name rule può inoltrare richieste HTTP a un altro server Web ed è definita nella pagina Reverse proxy > Virtual hosts. Per esempio:

  • NethServer è il firewall della LAN
  • Hai un dominio http://my.secondary-domain.com
  • Si desidera che http://my.secondary-domain.com inoltri le richieste al server web interno 192.168.2.101, porta 9000.

In questo scenario creare un nuovo record nella pagina Reverse proxy. Impostare il Name dell’elemento a my.secondary-domain.com e Target URL a http://192.168.2.101:9000.

Fare riferimento anche a the UI description of Reverse Proxy per ulteriori informazioni sulle funzionalità avanzate, come Forward HTTP «Host» header to target e :guilabel`Accept invalid SSL certificate from target`.

Configurazione manuale

Se la pagina Reverse proxy non è abbastanza, è sempre possibile configurare Apache manualmente, creando un nuovo file nella directory /etc/httpd/conf.d/.

Esempio

Creare il file /etc/httpd/conf.d/myproxypass.conf con il seguente contenuto:

<VirtualHost *:443>
    SSLEngine On
    SSLProxyEngine On
    ProxyPass /owa https://myserver.exchange.org/
    ProxyPassReverse /owa https://myserver.exchange.org/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.mydomain.org
    ProxyPreserveHost On
    ProxyPass / http://10.10.1.10/
    ProxyPassReverse / http://10.10.1.10/
</VirtualHost>

Per ulteriori informazioni, consultare la documentazione ufficiale di Apache: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html