【案例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的一个值。

相关推荐
架构源启1 天前
深度解析:Spring Boot + Apache OpenNLP 构建企业级 NLU 系统
spring boot·后端·apache
SeaTunnel1 天前
深度解析 Apache SeaTunnel 核心引擎三大技术创新:高可靠异步持久化与 CDC 架构优化实战
大数据·数据库·架构·apache·seatunnel
DolphinScheduler社区1 天前
第 8 篇|Apache DolphinScheduler 与 Flink Spark 数据引擎的边界、协同与最佳实践
大数据·flink·spark·开源·apache·海豚调度·大数据工作流调度
Apache IoTDB2 天前
Apache IoTDB V2.0.8 发布|新增模型并发推理,优化同步配置与安全加固
安全·apache·iotdb
蓝魔Y2 天前
Apache—Kafka实践
分布式·kafka·apache
Pocker_Spades_A3 天前
时序数据库选型指南:容量规划与压测方法(以 Apache IoTDB 为例)
apache·时序数据库·iotdb
云计算老刘4 天前
Keepalived + LVS(DR)+ Apache + NFS
apache·lvs
羑悻的小杀马特4 天前
工业时序数据库选型:从数据模型与存储引擎看 Apache IoTDB
apache·时序数据库·iotdb
Jermy Li4 天前
HugeGraph 正式晋升 Apache 顶级项目:重塑「图 + AI」底座
数据库·人工智能·apache·知识图谱·database·hugegraph·knowledge graph
可涵不会debug4 天前
时序数据库选型深度指南:Apache IoTDB——大数据时代的优选方案
apache·时序数据库·iotdb