Skip to main content
 首页 » 编程设计

nginx之简单的 nginx 反向代理似乎剥离了一些 header

2025年12月25日37webabcd

我是 nginx 的初学者。我在 8080 上有一个简单的网络服务器,我想在这个相当小的环境中将所有流量传递给它。我的代理似乎可以工作,只是当它到达我的上游服务器时没有自定义 header 。服务器块在下面。我需要添加什么来保留我的自定义标题?在这种情况下,自定义 header 是在 angularjs 中设置的,但我认为这与它没有任何关系,因为它可以直接在服务器上正常运行 8080。 ($httpProvider.defaults.headers.common['GH_client'] = client_id();)

server { 
server_name localhost; 
 
location / { 
        proxy_pass      http://localhost:8080; 
        proxy_redirect  off; 
    proxy_pass_header X-CSRF-TOKEN; 
        proxy_set_header   Host             $host; 
        proxy_set_header   X-Real-IP        $remote_addr; 
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
        proxy_set_header   X-NginX-Proxy true; 
}} 

感谢您的帮助。

请您参考如下方法:

您的标题包含下划线 ( _ )。默认情况下,nginx 将带有下划线的 header 视为无效并删除它们。

您应该启用 underscores_in_headers 指令。

否则,请考虑将 header 名称更改为不带下划线的名称。 GH-client将完全有效并代理到您的后端服务器。