使用 nginx 的四层代理监听 443 端口,反代后端 6443 端口站点。通过http2
可以正常获取到客户端 IP ,通过 h3quic
连接则无法获取到真实的客户端 IP ,只能获取到 127.0.0.1 。
请问各位大佬,在保持使用四层反代的前提下,如何配置可以通过quic
获取到客户端 IP 。
REMOTE_ADDR: 127.0.0.1HTTP_CLIENT_IP: 未设置HTTP_X_FORWARDED_FOR: 未设置HTTP_X_REAL_IP: 未设置HTTP_FORWARDED: 未设置HTTP_FORWARDED_FOR: 未设置HTTP_X_FORWARDED: 未设置
四层 stream 配置map $ssl_preread_server_name $name { default default_backend;}upstream default_backend { server 127.0.0.1:6443; # 站点}server { listen 443 reuseport; listen 443 udp reuseport; proxy_pass $name; ssl_preread on; proxy_protocol on;}
站点配置server{ listen 80; listen 6443 ssl proxy_protocol ; listen 6443 quic reuseport; http2 on; server_name abc.com www.abc.com; index index.php index.html; root /wwwroot/abc.com; set_real_ip_from 127.0.0.1; real_ip_header proxy_protocol; ...}