Problém:
Pomocí mod_proxy
, lze jednoduše pro návštěvníky „skrýt“ veřejný a nebo „zviditelnit“ privátní WWW server.
Řešní:
Na privátní IP adrese mějme WWW server o IP adrese 192.168.1.4.
Na serveru, který je hraničním mezi internetem a privátní sítí nakonfigurujeme WWW server Apache s povoleným mod_proxy
, který bude veškeré požadavky z internetu předávat na privátní server
Do konfigurace Apache stačí doplnit následující direktivy:
< VirtualHost *:80 >
ProxyRequests Off
ServerName www.domena.tld
ProxyPass / http://192.168.1.4/
ProxyPassReverse / http://192.168.1.4/
< /VirtualHost >
Chování může pozitivně ovlivnit následující direktiva:
ProxyPreserveHost Directive
Description: Use incoming Host HTTP request header for proxy request
Syntax: ProxyPreserveHost On|Off
Default: ProxyPreserveHost Off
Context: server config, virtual host
Status: Extension
Module: mod_proxy
Compatibility: Available in Apache 2.0.31 and later.
When enabled, this option will pass the Host: line from the incoming request to the proxied host, instead of the hostname specified in the ProxyPass line.
This option should normally be turned Off. It is mostly useful in special configurations like proxied mass name-based virtual hosting, where the original Host header needs to be evaluated by the backend server.