Tech

Docker

Nginx

遇到一個奇妙的小限制,如果有在 HTTP header 裡面放一些自定義的 header 變數,而且變數名稱包含底線,Nginx 預設是會把這些自定義變數過濾掉,需要在 http 或 server 區塊內加上 underscores_in_headers on; 來開啟。

另外還有一個 ignore_invalid_headers 有時候 application 用到了奇怪的 header 時也可能被 Nginx 擋掉,也可以暫時忽略確認是不是因為被視為不合法的 HTTP header 而被過濾掉。

http {
    ...

    underscores_in_headers on;
    ignore_invalid_headers off;

    ...
}

參考:

Other