2015-12-15 87 views
2

我已經用PHP-FPM安裝了NGINX框。一切都很好,但是我對該框的請求發送了一個額外的請求頭,例如:http_a_xpto(是的,它以「http_」開頭,我無法更改它)。NGINX允許帶下劃線的標頭

出於某種原因,所有帶下劃線(_)的標頭都會被忽略,並且無法在PHP $ _SERVER var上捕獲。

我已啓用「underscores_in_headers on;」在http指令中,甚至在服務器指令上,在NGINX配置文件中。

這是缺少我的配置?

謝謝!

+0

我將刪除我的答案,因爲[this](http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_pass_request_headers)表示'nginx'默認傳遞所有請求標頭。抱歉轉移。 –

+2

我已經確認'http'容器中的'underscores_in_headers on;'是您需要使用包含下劃線的請求標頭填充SERVER變量。確保你重啓了'nginx'。 –

回答

0

理查德是對的。

因此,顯然它似乎只有在「服務nginx重新啓動」時,加載了HTTP指令中的該標誌。對於生產環境,在「通常」不重新啓動但重新加載的情況下,這可能是一個問題。

這是一個輸出的經驗,因爲我沒有發現任何有關HTTP指令更改的信息只能在重新啓動時使用。如果有人有解釋的鏈接,請在此分享。

謝謝!