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>

浙公网安备 33010602011771号