通过nginx代理后的获取请求URL(getRequestURL)的解决办法
通过nginx代理后的获取请求URL(getRequestURL)的解决方法
一般来说,通过nginx代理后getRequestURL取得的值是nginx代理的URL的值,取不到访问的URL。
此时,通过在需要获取请求URL的location节点中,增加配置:
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
如:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://abc/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
一般来说,通过nginx代理后getRequestURL取得的值是nginx代理的URL的值,取不到访问的URL。
此时,通过在需要获取请求URL的location节点中,增加配置:
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
如:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://abc/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}