apache2.4 正向代理、反向代理、负载均衡

参考网址:

https://www.cnblogs.com/zemliu/archive/2012/04/18/2454655.html 

https://blog.csdn.net/qq_26264237/article/details/100176154

正向代理、反向代理

1. D:\Apache24\conf\httpd.conf 配置

 


#开启代理模块 LoadModule proxy_module modules
/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #引入vhost文件 Include conf
/extra/httpd-vhosts.conf

2. D:\Apache24\conf\extra\httpd-vhosts.conf 配置

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:\services\s1\apache-tomcat-7.0.96\webapps\simple"
ServerName www.test.com
ServerAlias test.com
#每天的错误日志
ErrorLog "|bin/rotatelogs.exe logs/error-%y%m%d.log 86400 480"    
#每天的访问日志
CustomLog "|bin/rotatelogs.exe logs/access-%y%m%d.log 86400 480" common 

<Directory "D:\services\s1\apache-tomcat-7.0.96\webapps\simple">
AllowOverride none
Options FollowSymLinks 
#Options Indexes FollowSymLinks 没有index.html 则遍历目录
Require all granted
</Directory>

#正向代理
#ProxyRequests On
#ProxyVia On

#反向代理设置 访问 localhost/proxy 转发到 http://localhost/list.html 
#ProxyPass /proxy http://localhost/list.html 
#ProxyPassReverse /proxy http://localhost/list.html

#ajp转发
ProxyPass / ajp://localhost:8009/simple/ retry=3
ProxyPassReverse / ajp://localhost:8009/simple/ retry=3

</VirtualHost>

 负载均衡

1. D:\Apache24\conf\httpd.conf 配置

#追加开启代理模块
#mod_proxy_balancer:提供负载均衡支持,支持的协议:http、ftp、ajp13
#mod_rewrite:提供一个基于规则的重写引擎,用于动态重写请求的URL
#mod_slotmem_shm:是一个内存提供程序,用于创建和访问共享内存段,在该内存段中,数据集按“插槽”进行组织。
#mod_lbmethod_byrequests.so:负载均衡算法:按照请求次数均衡(默认)
#mod_lbmethod_bybusyness.so:负载均衡算法:按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
#mod_lbmethod_bytraffic.so:负载均衡算法:按照流量均衡
#mod_lbmethod_heartbeat.so:负载均衡算法:通过mod_heartbeat模块提供心跳信息的原始服务器之间进行平衡

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule headers_module modules/mod_headers.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

2. D:\Apache24\conf\extra\httpd-vhosts.conf 配置

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:\services\s1\apache-tomcat-7.0.96\webapps\simple"
ServerName www.test.com
ServerAlias test.com
#每天的错误日志
ErrorLog "|bin/rotatelogs.exe logs/error-%y%m%d.log 86400 480"    
#每天的访问日志
CustomLog "|bin/rotatelogs.exe logs/access-%y%m%d.log 86400 480" combined 

<Directory "D:\services\s1\apache-tomcat-7.0.96\webapps\simple">
AllowOverride none
Options FollowSymLinks 
#Options Indexes FollowSymLinks 没有index.html 则遍历目录
Require all granted
</Directory>
#访问不同主机需开启ProxyPreserveHost
ProxyPreserveHost On
#ProxyPass / balancer://mycluster/ balancer是负载均衡协议和http类似
#mycluster是集群的名称
#BalancerMember 后面跟负载均衡的url地址
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/

<Proxy balancer://mycluster>
BalancerMember http://localhost:8081/simple  loadfactor=1 connectiontimeout=5 timeout=5
BalancerMember http://localhost:8082/simple loadfactor=1 connectiontimeout=5 timeout=5
ProxySet lbmethod=byrequests
</Proxy>

</VirtualHost>

 

posted @ 2020-10-15 15:53  还认识早晨吗  阅读(476)  评论(0)    收藏  举报