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

相关推荐
james的分享5 天前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
莫寒清5 天前
Apache Tika
java·人工智能·spring·apache·知识图谱
归叶再无青6 天前
web服务安装部署、性能升级等(Apache、Nginx)
运维·前端·nginx·云原生·apache·bash
忙碌5446 天前
OpenTelemetry实战指南:构建云原生全链路可观测性体系
ios·flink·apache·iphone
悠闲蜗牛�7 天前
Apache Flink实时计算实战指南:从流处理到数据湖仓一体的架构演进
架构·flink·apache
2301_816997887 天前
Apache Commons工具类
apache
心雨⁢⁢⁣7 天前
RocketMq(Apache RocketMQ 5.2.1-SNAPSHOT)消息消费流程
apache·rocketmq·java-rocketmq
切糕师学AI8 天前
Apache ZooKeeper 简介
分布式·zookeeper·apache
忙碌5448 天前
实时流处理架构深度剖析:Apache Flink在实时数仓与风控系统的工程实践
架构·flink·apache
x***r15110 天前
phpstudy_x64_8.1.1.3安装教程(含Apache/MySQL启动与端口修改)
数据库·mysql·apache