Nginx做代理路由时,不转发http的header问题

目前流行的 token 登录验证,常在 http 的 header 中添加 token 参数。

在部署项目后,发现无法获取到 http 头,拿不到 token 值,而通过ip端口直接访问则可以正确获取,怀疑是 Nginx 代理问题,查找原因后得知。

Nginx 会默认忽略含有 “_” 的 header 参数,而 token 值的参数名恰好含有 “_” 符号,需要手动开启转发。

具体修改:
在 nginx.conf 中,修改 http 内容,添加一行

underscores_in_headers on;

例:

http {
    underscores_in_headers on;
    server {
        listen 80;
    }
}

重启 Nginx 后可以正常获取 token

发表评论

发表回复

*

沙发空缺中,还不快抢~