nginx 传回自定义标头

Mik*_*ike 16 nginx http-headers

我有以下例子

           location / {
                    proxy_read_timeout 2000;
                    proxy_next_upstream error;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Host $http_host;
                    proxy_pass_header X_CUSTOM_HEADER;
                    proxy_redirect off;
                    proxy_max_temp_file_size 0;
                    proxy_pass https://prod;
                    break;
            }
Run Code Online (Sandbox Code Playgroud)

现在当我使用以下卷曲线

curl --head -H "X_CUSTOM_HEADER: foo" http://domain.com/api/test
Run Code Online (Sandbox Code Playgroud)

现在这不起作用.. 后端的 apache/php 看不到标题。如果我绕过 nginx,它就可以工作

curl --head -H "X_CUSTOM_HEADER: foo" http://web1.domain.com/api/test
Run Code Online (Sandbox Code Playgroud)

Ale*_*exD 18

您应该使用underscores_in_headers on默认情况下关闭的指令。