web-dev-qa-db-ja.com

上流サーバーにリクエストを渡す前にNginxのクライアントヘッダーを削除する方法は?

アップストリームサーバーはwowzaで、アプリケーションレベルでカスタムヘッダーを有効にしないと、カスタムヘッダーを受け入れません。

Nginxはプロキシサーバーとして動作します。ブラウザからNginx Proxyが受信してログに記録する必要のあるカスタムヘッダーをいくつか送信しますが、上流サーバーにリクエストを転送する前にこれらのヘッダーをリクエストから削除する必要があります。

そのため、上流サーバーは、カスタムヘッダーがある場所を認識できません。

私は試した proxy_hide_header と同様 proxy_set_header "<header>" ""、ただし、それらは要求ヘッダーではなく応答ヘッダーに適用されるようです。

また、wowzaでヘッダーを有効にすることに同意したとしても、すべてのアプリケーションでサーバーレベルでヘッダーを有効にする方法を見つけることができません。 Currenlty新しく作成された各アプリケーションにヘッダーを追加する必要がありますが、これは実行できません。

任意の助けをいただければ幸いです。

11
maddygoround

proxy_set_header HEADER ""は、まさにあなたが期待することをします。 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header を参照してください。

ヘッダーフィールドの値が空の文字列である場合、このフィールドはプロキシサーバーに渡されません。

proxy_set_header Accept-Encoding "";

これが文書通りに機能していることを確認したばかりで、Nginx v1.12を使用しました。

16
roryrjb