centos7下apache2.4反向代理

apache安装目录在/data/apache24,这里就不介绍apache的安装了。

一、反向代理配置

在/data/apache24/conf/extra下创建htttpd-proxy.conf文件

#开启反代理的必须模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so

#关闭正向代理
ProxyRequests Off
#设置集群组,mycluster名称可以随意取
<Proxy "balancer://mycluster">
    BalancerMember http://192.168.1.222:8080
    BalancerMember http://192.168.1.233:8080
</Proxy>
#使用集群组,mycluster名称需与上面配置相同
ProxyPass "/demo" "balancer://mycluster/"
ProxyPassReverse "/demo" "balancer://mycluster/"

修改/data/apache24/conf/httpd.conf中添加

Include conf/extra/htttpd-proxy.conf

这样重启apache后,当我们访问网站/demo时,会反向代理到222和233上的8080端口。

二、apache负载均衡管理界面

<Location "/balancer-manager">
    SetHandler balancer-manager
    order Deny,Allow
    Deny from all
    Allow from localhost
</Location>

访问网站/balancer-manager时,就可以看到apache自带的一个负载均衡管理界面。

三、虚拟主机上配置反向代理

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/test"
    ServerName www.test.com
    ErrorLog "logs/www.test.com-error_log"
    CustomLog "logs/www.test.com-access_log" common
    #当我们访问www.test.com时,都会代理到mycluster集群中。
    ProxyPass "/" "balancer://mycluster/"
    ProxyPassReverse "/" "balancer://mycluster/"
</VirtualHost>

四、负载比例分配

loadfactor取值范围为1-100

ProxyRequests Off
<Proxy "balancer://mycluster">
    BalancerMember http://192.168.1.222:8080 loadfactor=6
    BalancerMember http://192.168.1.233:8080 loadfactor=4
    BalancerMember http://192.168.1.244:8080 loadfactor=2
</Proxy>
ProxyPass "/" "balancer://mycluster/"
ProxyPassReverse "/" "balancer://mycluster/"

  

五、负载分配算法

lbmethod取值有:
lbmethod=byrequests 按照请求次数均衡(默认)
lbmethod=bytraffic 按照流量均衡
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

ProxyRequests Off
<Proxy "balancer://mycluster">
    BalancerMember http://192.168.1.222:8080 loadfactor=6
    BalancerMember http://192.168.1.233:8080 loadfactor=4
    BalancerMember http://192.168.1.244:8080 loadfactor=2
</Proxy>
ProxyPass "/" "balancer://mycluster/"
ProxyPassReverse "/" "balancer://mycluster/"
ProxySet lbmethod=bytraffic

五、热备份

请求总是流向222,一旦222挂掉, apache会检测到错误并把请求分流给233。apache会每隔几分钟检测一下222的状况,如果222恢复,就继续使用222。

ProxyRequests Off
<Proxy balancer://mycluster>
    BalancerMember http://192.168.1.222:8080
    BalancerMember http://192.168.1.233:8080 status=+H
</Proxy>
ProxyPass "/" "balancer://mycluster/"
ProxyPassReverse "/" "balancer://mycluster/"
时间: 2024-09-29 23:33:53

centos7下apache2.4反向代理的相关文章

夺命雷公狗---linux NO:39 linux下nginx的反向代理

反向代理图如下所示: 由上图可见,我们的服务器其实是分了两台,一台专门存放  php   之类的源码程序的,另外一台是专门存放图片用的服务器,由于图片在服务器A不存在,所以可能导致如下显示: 看不到这是很正常的,因为服务器A下没有这图片,图片在服务器B下: 所以我们要更改一下服务器A的配置文件: 然后我们开始为服务器添加一段反向代理的代码: location ~ \.(jpg|jpeg|png|gif)$ { proxy_pass http://192.168.8.166:80; } 然后保存退

[nginx]Windows和Mac下,nginx反向代理服务器配置

最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.conf文件,http下,默认打开的server只有一个,监听的是80端口: 1 http{ 2 XXXXX 3 server{ 4 listen 80; 5 XXXX 6 } 7 } 2)我们手动添加一个server(虚拟机),这样本地使用假数据来模拟请求json文件时,不会因为跨域而请求不到. 1

夺命雷公狗---linux NO:40 linux下nginx的反向代理的日志修正

我们如果只是纯粹使用了反向代理,那么服务器B的日志则会出现了问题: 我们服务器A是192.168.155  去访问了服务器B的/logo.png  ,这当然也没错,原理图如下所示: 但是我们往往都是需要知道是从客户端的真实IP,而不是服务器A发送来的IP,因为这样会更加方便运维和推广人员统计数据等... 首先我们改一下服务器A的配置文件: location ~ \.(jpg|jpeg|png|gif)$ { proxy_set_header X-Forwarded-For $remote_add

CentOS7下搭建nginx反向代理服务器使得外网可以二级域名访问内网应用

创建nginx的本地yum源 [[email protected] ~]# yum list |grep nginx No package nginx available. [[email protected] ~]# //给跪了,什么鬼,怎么没有nginx的rpm?算了,直接自己手动配一个官网repo吧 [[email protected] ~]# //访问nginx官网,进入dowload页面,翻到底部的Pre-Build Package,选stable version ----------

linux下配置nginx反向代理例子

官方说明: 例子: 虚拟机ip:192.168.85.3,物理机VMware Network Adapter VMnet8  ip:192.168.85.1 1,准备tomcat 准备一tomcat,端口,8080 准备一Jsp,用于获取客户端真实IP和nginx IP ,test.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UT

linux下实现nginx反向代理

正向代理架构图 反向代理架构图 反向代理服务器决定哪台服务器提供服务 Nginx实现反向代理 两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容 准备两个tomcat服务器 修改8081的port *启动两个tomcat *配置域名的映射关系 *配置nginx.conf的配置文件, *保存完后重新加载配置后生效

Linux下Squid正向/反向代理配置

Squid是一个支持HTTP, HTTPS, FTP的web缓存代理,它能通过缓存和反复使用频繁访问的网页来减少带宽.提高响应速度.Squid被广泛用于访问控制和做前端加速,它能运行在大部分操作系统平台上,Squid能减少服务器的压力,提高客户端的响应速度,其高级的内容路由配置允许建立集群和负载均衡来处理各种WEB请求,3.2及之后的版本基本都已支持SMP和多CPU 应用场景: 1.正向代理 Squid被数以百计的网络提供商用来为他们的用户提供最好的网页访问,为了提升性能和常用内容来减少带宽sq

windows系统下配置Nginx反向代理多tomcat共享session

nginx.tomcat下载安装本篇不提了,直接说步骤: 1 配置nginx配置文件: nginx下conf文件夹中的nginx.conf 添加下面代码, upstream web_apps{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8989 weight=1; } server { listen 80; server_name localhost 127.0.0.1; proxy_set_header Host $host; proxy

CentOS7下搭建socks 5代理

SOCKS:防火墙安全会话转换协议 (Socks: Protocol for sessions traversal across firewall securely) SOCKS 协议提供一个框架,为在 TCP 和 UDP 域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务.这个协议从概念上来讲是介于应用层和传输层之间的 "中介层(shim-layer)",因而不提供如传递 ICMP 信息之类的网络层网关服务.以下是本人的搭建笔记: 一.安装socks 5 1.1 安