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;
}
そして今度はプロキシバックエンドに渡されます。
関連
-
ブラウザエラー net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) 解決策
-
NginxのRequest Entity Too Largeの解決法
-
nginxの問題解決:上流からの応答ヘッダーの読み込み中に上流が接続を早々に切断した
-
Nginx+tomcatでhttps化した後に400 Bad Requestが発生する問題
-
[解決済み] プロキシサーバーで Git を動かす - "Request timed out" で失敗する
-
[解決済み] nginx が空白の PHP ページを表示する
-
[解決済み] nginxが任意のドメイン名で応答するのはなぜですか?
-
[解決済み] nginx client_max_body_size のデフォルト値です。
-
[解決済み] nginx 400 "The plain HTTP request was sent to HTTPS port" エラーへの対処法
-
[解決済み] アップストリーム/ダウンストリームの用語が逆に使われている?(例: nginx)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Certbot /.well-known/acme-challenge
-
nginx 起動プロンプト nginx: [emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
nginx 414 リクエスト URI が大きすぎます。
-
Nginxのエラー処理方法:0.0.0.0:80へのbind()に失敗する
-
[解決済み】Nginx 403 forbidden for all files
-
[解決済み] nginx client_max_body_size のデフォルト値です。
-
[解決済み] Nginxで単一のURLをリダイレクトするには?
-
[解決済み] nginx - アップストリームサーバからカスタムヘッダを読み込む
-
[解決済み] NGINXのgzipでJavaScriptファイルが圧縮されない
-
[解決済み] Nginxのサブドメイン設定