V životé každého admina občas nastane požadavek na přesun web serveru z jednoho OS na druhý. Klasický postup je asi jasný. Vytvořit virtualni web server na novém serveru a zařídit změnu DNS záznamu. Ale co když změna probíhá dlouho kvůli velkému TTL u domény nebo je někde jiný problém se změnou IP adresy. Ale zprovoznění přesunu je naplánováno na nějakou hodinu. Řešením je modul ve web serveru Apache mod_proxy, který šikovně umí tento problém řešit.
Server A
ServerName www.domena.cz
ServerAdmin webmaster@domena.cz
ProxyRequests Off
ProxyPass / http://www.nova.domena.cz/
ProxyPassReverse / http://www.nova.domena.cz/
ErrorLog /var/log/apache/proxy.domena.error_log
CustomLog /var/log/apache/proxy.domena.access_log combined
Apache1.x
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
AddModule mod_proxy.c
V apache2 je modul mod_proxy značně předělán a funkcionalita byla předělána do více odělených modulů.
Apache2
Default example
#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.
ProxyRequests Off
AddDefaultCharset off
Order deny,allow
Deny from all
#Allow from .example.com
# Enable/disable the handling of HTTP/1.1 "Via:" headers.
# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block
ProxyVia On
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so
LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so
LoadModule proxy_ftp_module /usr/lib/apache2/modules/mod_proxy_ftp.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
Server B
Má nastaven klasický virtual s hostem http://www.nova.domena.cz/
Tento modul má široké použítí, ale vždy pozor na bezpečnost!
Žádné komentáře:
Okomentovat