POST
nginx (v1.4.1) を使用して外部サービスをプロキシしていますが、プロキシする前にリクエストの本文を検査し、場合によっては変更できるようにしたいと考えています。問題は、現在、変数POST
を介しているかどうかにかかわらず、リクエストの処理中にリクエスト本文にアクセスできないことです。$request_body
私は多くの投稿と SO の質問を読み、この推奨される戦略POST
を実装しました。これは、本文のログ記録を許可することを目的としています (proxy_pass
ディレクティブを使用する場合)。ただし、これは私にとってはうまくいき$request_body
ますが、リクエストの処理中はまだ何も読み取ることができません。
わかりやすくするために、私の構成の関連セクションを次に示します。
location /proxy-this/ {
client_max_body_size 8k;
client_body_buffer_size 16k;
client_body_in_single_buffer on;
proxy_pass https://example.com/external-endpoint/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header Content-Length '';
}
そして、私ができるようにしたいこと:
location /proxy-this/ {
... (same configuration as above) ...
set $request_body $request_body&extra_param=1;
}
私はこれがnginx_lua
モジュールを使用して可能であることを認識してHttpFormInputModule
おり、.