使用 nginx 的四层代理监听 443 端口,反代后端 6443 端口站点。
通过http2
可以正常获取到客户端 IP ,通过 h3quic
连接则无法获取到真实的客户端 IP ,只能获取到 127.0.0.1 。
请问各位大佬,在保持使用四层反代的前提下,如何配置可以通过quic
获取到客户端 IP 。
REMOTE_ADDR: 127.0.0.1
HTTP_CLIENT_IP: 未设置
HTTP_X_FORWARDED_FOR: 未设置
HTTP_X_REAL_IP: 未设置
HTTP_FORWARDED: 未设置
HTTP_FORWARDED_FOR: 未设置
HTTP_X_FORWARDED: 未设置
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;
...
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.