nginx丢失头部信息
nginx在代理时,后端拿不到前段发过去的请求头信息,导致接口不通。(但是在本地是可以拿到的) 主要原因为nginx在做反向代理时,没有在请求时添加头部信息的配置。 解决方法 1、在nginx中添加相应配置,使其能够携带头部信息通信 server { listen 443 ssl; server_name test.com; ssl_certificate cert/test_line.pem; ssl_certificate_key cert/test_line.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 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; } 添加完成后重启nginx容器docker restart nginx,发现依旧无法登陆,经过检查发现原因为前端页面header中含有_,而nginx默认会自动忽略_。 2、在http端中添加 http { include /etc/nginx/mime.types; ...... include /etc/nginx/conf.d/*.conf; # 该配置默认情况为off underscores_in_headers on; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?