HAProxy 클 라 이언 트 IP 주소 의 전송

5150 단어 LinuxHAProxy
HAProxy 클 라 이언 트 IP 주소 의 전송
환경 준비
server
IP
client
172.20.27.10
haproxy
172.20.27.20,192.168.27.10
nginx
192.168.27.21
nginx 조작
1. 먼저 nginx 의 메 인 설정 에 있 는 로 그 를 수정 합 니 다.
[root@nginx ~]# vim /apps/nginx/conf/nginx.conf

    log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"domain":"$host",'
        '"xff":"$http_x_forwarded_for",'        #  http  
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'     #  tcp  
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';

2. server 세그먼트 설정 파일 에서 이 로그 형식 을 호출 합 니 다.
[root@nginx ~]# vim /apps/nginx/conf/servers/mylinuxops.conf 
server {
        server_name www.mylinuxops.com;
        listen 80;
        access_log  /apps/nginx/logs/mylinuxops.log  access_json;
        location / {
                root /data/www;
                index index.html;
        }
}

HAProxy 설정 (http 투과)
http 투과 전 사용 하지 않 음
[root@nginx ~]# tail /apps/nginx/logs/mylinuxops.log 
{"@timestamp":"2019-06-04T16:30:47+08:00",   "host":"192.168.27.21",   "clientip":"172.20.27.10",   "size":19,   "responsetime":0.000,   "upstreamtime":"-",   "upstreamhost":"-",   "http_host":"www.mylinuxops.com",   "uri":"/index.html",   "domain":"www.mylinuxops.com",   "xff":"-",   "referer":"-",   "tcp_xff":"",   "http_user_agent":"curl/7.29.0",   "status":"200"}
#xff   "-"

HAProxy 설정 파일 을 수정 하고 http 모드 의 ip 스 포 일 러 를 사용 합 니 다.
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg 
listen web
 bind 172.20.27.20:80
 mode http              #    http
 option forwardfor      #  forwardfor  
 server web1 www.mylinuxops.com:80 check inter 3000 fall3 rise 5

테스트 사용 클 라 이언 트 접근
[root@client ~]# curl www.mylinuxops.com
www.mylinuxops.com

nginx 로그 보기
[root@nginx ~]# tail -f /apps/nginx/logs/mylinuxops.log 
{"@timestamp":"2019-06-04T17:29:22+08:00",   "host":"192.168.27.21",   "clientip":"192.168.27.10",   "size":19,   "responsetime":0.000,   "upstreamtime":"-",   "upstreamhost":"-",   "http_host":"www.mylinuxops.com",   "uri":"/index.html",   "domain":"www.mylinuxops.com",   "xff":"172.20.27.10",   "referer":"-",   "tcp_xff":"",   "http_user_agent":"curl/7.29.0",   "status":"200"}
#"xff":"172.20.27.10"             

HAProxy 설정 (tcp 투과)
1. HAProxy 프로필 수정
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg 
listen web
 bind 172.20.27.20:80
 mode tcp               # mode  tcp
 option forwardfor      #  forwardfor  
 server web1 www.mylinuxops.com:80 send-proxy check inter 3000 fall 3 rise 5                    #           send-proxy  。

2. nginx 설정 파일 수정
[root@nginx ~]# vim /apps/nginx/conf/servers/mylinuxops.conf 
server {
        server_name www.mylinuxops.com;
        listen 80 proxy_protocol;       # listen     proxy_protocol  
        access_log  /apps/nginx/logs/mylinuxops.log  access_json;
        location / {
                root /data/www;
                index index.html;
        }
}

테스트 사용 클 라 이언 트 접근
[root@client ~]# curl www.mylinuxops.com
www.mylinuxops.com

nginx 에서 로그 보기
[root@nginx ~]# tail -f /apps/nginx/logs/mylinuxops.log 
{"@timestamp":"2019-06-04T17:43:57+08:00",   "host":"192.168.27.21",   "clientip":"192.168.27.10",   "size":19,   "responsetime":0.000,   "upstreamtime":"-",   "upstreamhost":"-",   "http_host":"www.mylinuxops.com",   "uri":"/index.html",   "domain":"www.mylinuxops.com",   "xff":"-",   "referer":"-",   "tcp_xff":"172.20.27.10",   "http_user_agent":"curl/7.29.0",   "status":"200"}
#"tcp_xff":"172.20.27.10"         tcp         

좋은 웹페이지 즐겨찾기