1. ホーム
  2. nginx

nginx プロキシサーバからリクエストヘッダを転送する

2023-09-28 03:20:23

質問

Nginxをプロキシとして使用し、アプリケーションへのリクエストをフィルタリングしています。http_geoip_module"の助けを借りて国コードのhttpヘッダを作成しており、それを"headers-more-nginx-module"を使ってリクエストヘッダーとして渡したいのですが、どうすればいいですか?これはNginxの設定にあるlocationブロックです。

location / {
    proxy_pass                      http://mysite.com;
    proxy_set_header                Host http://mysite.com;;
    proxy_pass_request_headers      on;
    more_set_headers 'HTTP_Country-Code: $geoip_country_code';
}

しかし、これはレスポンスにヘッダを設定するだけです。私は "more_set_headers" の代わりに "more_set_input_headers" を使ってみましたが、それではヘッダーがレスポンスに渡されることすらありません。

私はここで何を見逃しているのでしょうか?

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

プロキシバックエンドに変数を渡したい場合は、プロキシモジュールで設定する必要があります。

location / {
    proxy_pass                      http://example.com;
    proxy_set_header                Host example.com;
    proxy_set_header                HTTP_Country-Code $geoip_country_code;
    proxy_pass_request_headers      on;
}

そして今度はプロキシバックエンドに渡されます。