Nginx有时会失去头球

时间:2014-07-12 00:43:24

标签: 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;
    }
  }
}

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

更新: 一项更详细的研究发现,nginx错过了“fail_id”标题。所有其他标题都有效。

2 个答案:

答案 0 :(得分:0)

问题解决了! Nginx默认配置错过了带下划线的标题。

该指令解决了这个问题:

underscores_in_headers on;

答案 1 :(得分:0)

谢谢你的下划线指令。我使用 underscores_in_headers on; 指令和带有下划线的标头值传递给我的节点应用。

现在,我可以使用来自网络的邮递员请求和角度请求来访问标头值(api_key)。

但是现在当从Android应用程序中提出请求并且我在android请求标头中设置了api_key时,我无法访问api_key。

我的配置是:



server {
        listen 80;
  
        server_name uat.api.myserver.com;
        underscores_in_headers on;
  
       location / {
                proxy_pass http://localhost:9102;
       }
}