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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.