1. ホーム
  2. nginx

[解決済み] nginx - アップストリームサーバからカスタムヘッダを読み込む

2023-02-02 22:33:40

質問

nginxをリバースプロキシとして使用しており、上流サーバ(Apache)のレスポンスからカスタムヘッダを読み取ろうとしていますが、うまくいきません。 Apacheのレスポンスは以下の通りです。

HTTP/1.0 200 OK
Date: Fri, 14 Sep 2012 20:18:29 GMT 
Server: Apache/2.2.17 (Ubuntu)
X-Powered-By: PHP/5.3.5-1ubuntu7.10
Connection: close
Content-Type: application/json; charset=UTF-8
My-custom-header: 1

から値を読み込みたい。 My-custom-header を作成し、if節で使用します。

location / {
    // ...
    // get My-custom-header value here
    // ...
}

これは可能なのでしょうか?ありがとうございました。

どのように解決するのですか?

可能なだけでなく、簡単なことなのです。

nginxでは、レスポンスヘッダの値は変数で利用できます(ヘッダごとに1つ)。 参照 http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER は、これらの変数の詳細について説明します。

この例では、$sent_http_My_custom_header という変数になります。