Nginx 有时会丢失标头

use*_*407 0 nginx

我使用 nginx 作为 android 应用程序的反向代理服务器(仅限 get/post 请求)。标头中包含的一些数据。在某些情况下,nginx 会丢失“id”或“fail_id”标头。

配置:

user user;

worker_processes 4;

error_log /var/log/nginx/error.log;

events {
    worker_connections 100000;
    use epoll;
}

http {
  upstream myproject {
    server 192.168.88.246:2053;
}

  server {
    listen 2054;
    ssl on;
    ssl_certificate /home/user/android/cert/cert.pem;
    ssl_certificate_key /home/user/android/cert/key.pem;

    proxy_read_timeout 600;
    proxy_send_timeout 600;

    location / {
      proxy_pass http://myproject;
      proxy_pass_request_headers on;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以设置原始请求标头吗?

更新:更详细的研究发现 nginx 丢失了“fail_id”标头。所有其他标头都正常工作。

use*_*407 5

问题解决了!Nginx 默认配置缺少带下划线的标头。

该指令解决了这个问题:

underscores_in_headers on;
Run Code Online (Sandbox Code Playgroud)