[解決済み] NGINXのproxy_passまたはproxy_redirect
質問
Nginx の proxy_pass について教えてください。
Nginxの外部からは、このようなURLがヒットします。 http://some-IP:8080/v2/platform/general/activity/plan ?.....
私のダウンストリーム・サービスはこんな感じです。 http://another-IP:8080/activity/plan ?...
を取り除きたい。
/v2/platform/general
を元の公開URLから取得し、上記のように私のダウンストリーム・サービスを呼び出します。
Nginxで、公開アクセスURLを下流のサービスにリダイレクトするにはどうすればよいですか?
こんなことをやってみました。
location /v2/platform/general/ {
rewrite ^/(.*) /$1 break;
proxy_redirect off;
proxy_pass http://another-IP:8080;
proxy_set_header Host $host;
しかし、それは動作しませんでした、任意の助けを求めます。
どのように解決するのですか?
proxy_pass
と
proxy_redirect
は、全く異なる機能を持っています。その
proxy_redirect
ディレクティブの変更にのみ関係します。
Location
レスポンスヘッダを生成します。参照
本書
をご覧ください。
あなたの
rewrite
ステートメントは、URIのさらなる修正を阻止すること以外には何もしません。この行は削除する必要があります。
proxy_pass
をマッピングすることができます。以下を参照してください。
は
proxy_pass
ディレクティブは、URI をマップすることができます (例.
/v2/platform/general/foo
から
/foo
) に URI 値を追加することで実現できます。
proxy_pass
の値と連動して動作します。
location
の値を指定します。参照
本書
をご覧ください。
例えば、こんな感じです。
location /v2/platform/general/ {
...
proxy_pass http://another-IP:8080/;
}
Hostヘッダを設定する必要があるのは、上流サーバがその値に対して正しく応答しない場合のみです。
another-IP:8080
.
を1つまたは複数追加する必要があるかもしれません。
proxy_redirect
ステートメントを使用すると、アップストリームサーバが 3xx ステータスレスポンスを生成する際に
Location
ヘッダーの値です。
関連
-
[解決済み] バックグラウンドでリクエストするようにnginxを設定する
-
Gitはいくつかのバグフィックスを行いました。マージされていないファイルがあるため、Pullができない。
-
[解決済み] Node.js + Nginx - 今度は何?
-
[解決済み】NGinx デフォルトの公開WWWの場所は?
-
[解決済み】Kubernetes サービス 外部 ip 保留
-
[解決済み] nginx の access_log と error_log をマスタープロセスの STDOUT と STDERR に記録させる
-
[解決済み] React-routerとnginx
-
[解決済み] nginxが任意のドメイン名で応答するのはなぜですか?
-
[解決済み] nginx.confを編集してファイルサイズのアップロードを増やす方法
-
[解決済み] APIゲートウェイとリバースプロキシの比較
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Docker Nginxが停止しました。[emerg] 1#1: ホストがアップストリームで見つかりません。
-
[解決済み】「設定ファイル/etc/nginx/nginx.confのテストに失敗しました」。この原因を知るにはどうしたらいいですか?
-
Nginxエージェントのリソース: net::ERR_NAME_NOT_RESOLVED の読み込みに失敗しました。
-
nginx スタートアップ・エラー。nginx.serviceのジョブは、制御プロセスがエラーコードで終了したため失敗しました。
-
nginx 414 リクエスト URI が大きすぎます。
-
解決済み net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
-
Nginx設定ファイル(nginx.conf)の設定詳細
-
[解決済み】Nginxのロケーション優先順位
-
[解決済み】nginxのsites-availableディレクトリが見つからない。
-
[解決済み] nginx.confを編集してファイルサイズのアップロードを増やす方法