nignx代理获取真实地址request.getRequestURL()
# 反向代理配置到后端接口
location /prod-api/ {
# proxy_set_header Host $proxy_host;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
首先
proxy_set_header 参数 区别
变量 | 是否显示端口 | 值是否存在 |
host 浏览器请求的ip,不显示端口 | 否 | "Host:value"显示 值为a:b的时候,只显示a |
http_host 浏览器请求的ip和端口号 | 是 | "Host:value",value存在就显示 |
proxy_host 被代理服务的ip和端口号 | 默认80不显示 其他端口显示 | "Host:value"显示 |
总结,所以如果想要获取到被代理服务真实的ip和端口可添加proxy_set_header Host $proxy_host