码迷,mamicode.com
首页 > 其他好文 > 详细

HAProxy杂记(2)

时间:2018-03-15 23:01:48      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:HAProxy 基础

haproxy高级配置

haproxy cookie

1、配置插入cookie

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend websrvs
    balance     roundrobin
    cookie SERVERID insert nocache indirect
    server web1 10.201.106.132:80 check weight 1 cookie websrv1
    server web2 10.201.106.133:80 check weight 3 cookie websrv2

重载服务:
[root@master1 haproxy]# systemctl reload haproxy.service

由于每次请求头部的cookie都是websrv2字段,10个子网页全部都是由web2响应;
技术分享图片

状态监控页

1、配置文件配置

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#--
frontend  main
    bind *:80
    bind *:8080
    default_backend            websrvs

listen statistics
    bind *:9090
    stats enable
    stats hide-version
#    stats scope .

[root@master1 haproxy]# systemctl restart haproxy.service
[root@master1 haproxy]# ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128           *:8080                      *:*                  
LISTEN      0      128           *:80                        *:*                  
LISTEN      0      128           *:22                        *:*                  
LISTEN      0      100    127.0.0.1:25                        *:*                  
LISTEN      0      128           *:9090                      *:*                  
LISTEN      0      128          :::22                       :::*                  
LISTEN      0      100         ::1:25                       :::*                  
[root@master1 haproxy]# 

访问测试:http://10.201.106.131:9090/haproxy?stats
技术分享图片

2、修改状态页路径

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main
    bind *:80
    bind *:8080
    default_backend            websrvs

listen statistics
    bind *:9090
    stats enable
    stats hide-version
    stats scope .
    stats uri /haproxyadmin?stats       #修改状态页地址
    stats realm "HAPorxy\ Statistics"   #认证提醒   
    stats auth admin:mageedu            #账号密码

重载服务:[root@master1 haproxy]# systemctl reload haproxy.service

测试:再次登陆需要账号密码;

3、配置认证成功时,开启管理接口

listen statistics
    bind *:9090
    stats enable
    stats hide-version
    #stats scope .                  #去掉当前有效
    stats uri /haproxyadmin?stats
    stats realm "HAPorxy\ Statistics"
    stats auth admin:mageedu
    stats admin if TRUE             #

option,记录真实客户端地址

1、默认在default开启

2、修改后端httpd的配置文件

[root@master2 ~]# vim /etc/httpd/conf/httpd.conf 

    LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

[root@master2 ~]# systemctl reload httpd.service

3、后端web查看日志

[root@master2 ~]# tail /var/log/httpd/access_log 
10.201.106.1 - - [06/Feb/2017:11:02:11 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:11 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:11 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:12 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:12 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:12 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:12 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:13 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:13 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
10.201.106.1 - - [06/Feb/2017:11:02:13 +0800] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
[root@master2 ~]# 

响应报文首部修改

1、修改haproxy配置文件

frontend  main
    bind *:80
    bind *:8080
    rspadd Via:\ node1.magedu.com
    default_backend            websrvs

[root@master1 haproxy]# systemctl reload haproxy.service

技术分享图片

HAProxy杂记(2)

标签:HAProxy 基础

原文地址:http://blog.51cto.com/zhongle21/2087360

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!