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

相关推荐
行业研究员5 天前
腾讯位置服务核心功能与应用场景解析
apache·lbs·腾讯位置服务
SeaTunnel6 天前
Apache SeaTunnel 提交一个任务都经过了什么?
java·大数据·服务器·apache·etl·seatunnel
SelectDB9 天前
基于 Apache Doris 搭建 RAG 系统:从基础 RAG 到知识图谱增强的完整实现与选型指南
apache
SelectDB9 天前
SelectDB Enterprise 4.0.5:企业级实时分析与 AI 数据底座怎么选?安全合规配置指南
apache
隔窗听雨眠9 天前
80TB电商数据迁移实录:从PostgreSQL分析困境到Apache Doris架构突围
postgresql·架构·apache
lsh曙光9 天前
Apache服务
apache
Norris Huang11 天前
Icevue:为 Apache Iceberg REST Catalog 打造一个轻量、只读的可视化入口
apache
ajassi200012 天前
AI语音智能体开发日记(三)解决小程序配网中的蓝牙命名与MAC地址获取问题
ai·apache·ai编程
SelectDB技术团队12 天前
当 PostgreSQL 面临性能瓶颈:80TB 电商业务迁移至 Apache Doris 的实践思考
数据库·postgresql·apache
sbjdhjd12 天前
安全初级 | Upload 文件上传漏洞实操
android·经验分享·安全·网络安全·开源·php·apache