Apache中有一個mod_proxy模組,開啟後就可以讓Apache有proxy的功能(很吃記憶體)
最常用到的就是用在網頁上
Enable
如果在Ubuntu中可以透過以下指令開啟
a2enmod proxy_http
在FreeBSD中必須手動開啟以下兩個Module
LoadModule proxy_module libexec/apache22/mod_proxy.so LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
Forward Proxy
Forward Proxy是一般proxy的代理功能
Listen 8080 <VirtualHost *:8080> ServerName proxy.johnsonlu.org #ProxyRequests要開啟,啟動Forward功能 ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from all </Proxy> ErrorLog "/var/log/apache2/proxy-error.log" CustomLog "/var/log/apache2/proxy-access.log" common </VirtualHost>
Reverse Proxy
Reverse Proxy跟Forward Proxy正好相反,可以應用在導向內部實際服務的伺服器
<VirtualHost *:80> ServerName blog.johnsonlu.org #因為只是Reverse,因此ProxyRequests要關閉 ProxyRequests off <Proxy *> Order allow,deny Allow from all </Proxy> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost on </VirtualHost>