httpd反向代理

23、反向代理功能(httpd目前只能支持一台后端服务器)
启用/反向代理
	ProxyPass "/" "http://www.example.com/"
	ProxyPassReverse "/" "http://www.example.com/"
特定URL反向代理
	ProxyPass "/images" "http://www.example.com/"
	ProxyPassReverse "/images" http://www.example.com/
示例:
	<VirtualHost *>
	 ServerName www.magedu.com
	 ProxyPass / http://localhost:8080/
	 ProxyPassReverse / http://localhost:8080/
	</VirtualHost>


	
proxy_http_module模块代理配置	
ProxyRequests:		Off关闭正向代理。
ProxyPass:			反向代理指令
ProxyPassReverse:	保留代理的response头不重写(个别除外)
ProxyPreserveHost:	On开启。让代理保留原请求的Host首部转发给后端服务器
ProxyVia:			On开启。代理的请求响应时提供一个response的via首部	

启用反向代理
ProxyPass "/" "http://www.example.com/"
ProxyPassReverse "/" "http://www.example.com/"
特定URL反向代理
ProxyPass "/images" "http://www.example.com/"
ProxyPassReverse "/images" http://www.example.com/	

	
<VirtualHost *:80>
	 ServerName www.zjol.com
	 ProxyRequests Off
	 ProxyVia On
	 ProxyPreserveHost On
	 ProxyPass / http://127.0.0.1:8080/
	 ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>


测试ProxyPreserveHost选项:当后端出现多个"主机"  
一.是IP访问的主机(没有ServerName),如果ProxyPreserveHost是Off的,转发给tomcat就没有域名首部,只有IP地址,那么将只能访问node1.magedu.com主机,反之为on,访问localhost主机
二.是域名访问主机(有ServerName),如果ProxyPreserveHost是Off的,那么将访问node1.magedu.com主机,反之为on,访问localhost主机
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">   </Host>
<Host name="node1.magedu.com"  appBase="/data/webapps/" unpackWARs="true" autoDeploy="true">
	<Context path="/test" docBase="/data/test" reloadable="false" />
	<Context path="/test1" docBase="" reloadable="false" />
</Host>	
	

  

posted @ 2022-08-18 17:59  yuanbangchen  阅读(407)  评论(0编辑  收藏  举报