httpd.conf需要配置的3个地方:
1、Listen?处需要增加监听的端口
Listen 80 Listen 8090
?
2、mod_proxy提供代理服务器功能,mod_proxy_balancer提供负载均衡功能, mod_proxy_http让代理服务器能支持HTTP协议。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so
?
3、在</IfModule>下方增加以下内容
<VirtualHost *:8090> ServerName 172.24.2.61 ProxyPreserveHost On ProxyRequests Off ProxyPass /projectName http://172.24.2.22:8091/projectName ProxyPassReverse /projectName http://172.24.2.22:8091/projectName ErrorLog logs/8090_log CustomLog logs/8090_log common </VirtualHost>
?
4、重启apache
?
(一).ProxyPass 指令
说明: 将一个远端服务器映射到本地服务器的URL空间中?
语法: ProxyPass [路径] !|url?
上下文: 服务器配置, 虚拟主机?
状态: Extension?
模块: mod_proxy?
指令对于您不想对某个子目录进行反向代理时很有用。比如说:
ProxyPass /mirror/foo/i !
ProxyPass /mirror/foo?
http://foo.com
将会代理除对/mirror/foo/i请求之外的所有对 foo.com 的/mirror/foo请求。
注意:顺序很重要,您需要把特例情况放在一般代理通过指令
当在配置段中使用时,第一个参数会被忽略而是采用由指令指定的本地目录。
如果您需要一个更加灵活的反向代理配置,请参见使用[P]标记的RewriteRule指令。
?
(二).ProxyPassReverse 指令
说明: 调整由反向代理服务器发送的HTTP回应头中的URL?
语法: ProxyPassReverse [路径] url?
上下文: 服务器配置, 虚拟主机?