Apache中mod_proxy模块的使用问题及解决方案
NC中间件
应用场景:配置了apache的情况,包括uap集群,配置https等场景下均适用;如果是单机(NC单结点情况不存在问题,则不用配置这项; was环境也不用配置此项。)
解决方案:按如下两个步骤进行配置
步骤一:将服务器信息-集群配置中配置的AJP协议删除
步骤二:修改配置文件
编辑${HTTPD_HOME}/conf/httpd.conf文件,开启以下模块, Apache启动时自动加载:
1、开启模块
修改${HTTPD_HOME}/conf/httpd.conf,增加以下模块(取消注释,如有其他依赖, 则相应取消注释)
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule manager_module modules/mod_manager.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
2、编辑${HTTPD_HOME}/conf/httpd.conf
在文件结尾处添加负载均衡的Server信息和会话session保持配置,以下是一个配置示例:
<VirtualHost *> ServerName orcl.example.com ErrorLog logs/orcl.example.com-error_log CustomLog logs/orcl.example.com-access_log common ProxyRequests Off ProxyPreserveHost On Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; secure" env=BALANCER_ROUTE_CHANGED ProxyPass / balancer://httpproxy/ stickysession=routeId <Proxy balancer://httpproxy/> BalancerMember http://IP1:port1 route=ncMem01 BalancerMember http://IP2:port2 route=ncMem02 </Proxy> </VirtualHost>
以上配置参数说明
1、ProxyPass :将远程服务器映射到本地服务器的URL空间
2、balancer:// :代理的指令类型
3、sticky-session粘连,就是说用户一旦访问了某个 Balancer Member,就给他个 cookie,让他在后面的请求都访问那个 Balancer Member 。ProxyPass 那行 最后的 stickysession=routeId,表示从 cookie 中读取 routeId,并自动分配到相应的服务上去。如果后端服务器使用不同的cookie名称或者URL编码的ID(像servlet容器),使用|来分开他们。第一个部分针对cookie,第二个针对路径。如:ProxyPass / balancer:// httpproxy、stickysession=JSESSIONID|jsessionid
4、ProxyRequests : 在使用ProxyPass指令的时候,ProxyRequests指令通常都应该是关闭 的。
5、BalancerMember : 均衡成员
6、route : 工作单元的路由,用于负载均衡器中。该路由是附加给会话ID的一个值。
到此这篇关于Apache中mod_proxy模块的使用的文章就介绍到这了,更多相关Apache mod_proxy模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
80端口被Pid为4的未知程序占用导致Apache不能启动的解决方法
这篇文章主要介绍了80端口被Pid为4的未知程序占用导致Apache不能启动的解决方法,比较奇怪的是这个PID为4的程序在进程中找不到,后来发现原来是一个服务在占用,需要的朋友可以参考下2014-10-10Wampserver2.5配置虚拟主机出现403 Forbidden的处理方案
WampServer是一款由法国人开发的Apache Web服务器、PHP解释器以 及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。在windows下将Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境。2014-09-09
最新评论