haproxy+nginx相关的配置

haproxy tcp模式 + nginx http模式 ,nginx打印客户端源IP

haproxy 增加 send-proxy参数,用于启用代理协议(Proxy Protocol)支持

listen nginx-web
    bind 0.0.0.0:80
    mode tcp
    option tcplog
    balance roundrobin
    server nginx-1 server1:81 check inter 10000 fall 2 rise 2 weight 1 send-proxy
    server nginx-2 server2:81 check inter 10000 fall 2 rise 2 weight 1 send-proxy
    server nginx-3 server3:81 check inter 10000 fall 2 rise 2 weight 1 send-proxy

nginx http模块,增加打印$proxy_protocol_addr变量,即代理协议传递的客户端IP地址

http {

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''   close;
    }
    log_format  main  '$proxy_protocol_addr - $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

nginx server模块,增加proxy_protocol配置,并启用了Proxy Protocol支持,这意味着它预期从HAProxy那里接收使用Proxy Protocol传递的请求。此配置确保Nginx可以正确地识别代理的客户端IP地址。

server {
    listen     81 default_server proxy_protocol;

 

posted @ 2023-09-02 20:29  szcj~  阅读(154)  评论(0)    收藏  举报