请求头丢失问题
在配置nginx使用https对服务器上的应用程序进行代理时,查看应用程序的访问日志发现请求头中的token信息丢失了。
解决方案
在对应的https配置模块中添加以下内容
# 重写请求头部host字段
proxy_set_header Host $host;
# 重写来源IP
proxy_set_header X-Real-IP $remote_addr;
# 重写http请求来源
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
同时在http模块中添加配置文章来源:https://www.toymoban.com/news/detail-562436.html
underscores_in_headers on;
完整配置如下文章来源地址https://www.toymoban.com/news/detail-562436.html
http {
include mime.types;
default_type application/octet-stream;
underscores_in_headers on;
sendfile on;
keepalive_timeout 65;
server {
listen 443 ssl;
server_name zdhyyds.co;
ssl_certificate /usr/local/nginx/ssl/www.baidu.com.pem;
ssl_certificate_key /usr/local/nginx/ssl/www.baidu.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 重写请求头部host字段
proxy_set_header Host $host;
# 重写来源IP
proxy_set_header X-Real-IP $remote_addr;
# 重写http请求来源
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://127.0.0.1:7001;
}
}
server {
listen 80;
server_name zdh;
#将请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}
}
到了这里,关于Nginx反向代理请求头丢失的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!