【案例40】Apache中mod_proxy模块的使用

NC中 间件

应用 场景:配置了apache的情况,包括uap集群,配置https等场景下均适用;如果是单机(NC单结点情况不存在问题,则不用配置这项; was环境也不用配置此项。)

解决 方案:按如下两个步骤进行配置

步骤 一: 将服务器信息-集群配置中配置的AJP协议删除

步骤二 修改 配置文件

编辑${HTTPD_HOME}/conf/httpd.conf文件,开启以下模块, Apache启动时自动加载:

1、开启模块

修改${HTTPD_HOME}/conf/httpd.conf,增加以下模块(取消注释,如有其他依赖, 则相应取消注释)

bash 复制代码
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保持配置,以下是一个配置示例:

bash 复制代码
<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的一个值。

相关推荐
MageGojo2 天前
小程序每日一谜怎么做:riddle 接口接入示例
windows·小程序·apache·谜语
penngo3 天前
FlowLoom:基于 Apache Spark 的可视化数据处理平台
大数据·spark·apache
Apache RocketMQ4 天前
全新 AI 消息模型:Apache RocketMQ 如何让 AI 应用拥抱事件驱动架构?
人工智能·apache·rocketmq
MageGojo4 天前
给起名工具接入八字起名 API:参数设计、JSON 示例和应用场景
json·apache
x***r1515 天前
linux安装 apache-tomcat-7.0.42.tar.gz 详细步骤(解压、配置、启动)
linux·tomcat·apache
阿里云云原生6 天前
Apache RocketMQ 5.5.0 发布:LiteTopic 深度解析,如何支撑百万级 AI 会话并发?
apache·rocketmq
清平乐的技术专栏6 天前
【Doris从零到一】(一)Apache Doris 概述
apache
RestCloud6 天前
开源vs商业iPaaS:Apache Camel、MuleSoft与RestCloud的正面交锋
开源·apache·ipaas·mulesoft·api管理·集成平台
Volunteer Technology7 天前
集群基础环境搭建(一)
大数据·apache
Volunteer Technology8 天前
集群基础环境搭建(二)
大数据·flink·apache