Nginx代理导致header参数丢失和端口丢失

时间:2024-03-20 08:58:14

今天测试同事在测试接口时遇到了测试环境无法获取到header中参数的问题,但是本地可以。同时在使用swagger时,测试环境会导致端口丢失,本地不会。

经过反复查看配置,发现是Nginx引起的。

Nginx做反向代理时默认request的header的那么中包含’_’时,会自动忽略掉。可以在Nginx的配置文件:nginx.conf 的http部分中添加如下配置:underscores_in_headers on; (默认 underscores_in_headers 为off)即可解决header参数丢失问题。

在Nginx的配置文件:nginx.conf 的location将 proxy_set_header Host $host;改成 proxy_set_header Host $host:$server_port; 即可解决端口丢失问题。

Nginx代理导致header参数丢失和端口丢失