1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューティングと特定1.1. 問題複数の転送を伴う本番構成では、要件は次の図のようになります。 1.2. 問題の原因を見つけるデフォルトのNginx proxy_set_header ホスト $host;
この設定を使用すると、Nginxの第1層(Nginx1)がプロキシしているときに、要求するドメイン名はwww.djx.comで、この要求のヘッダーから取得されるホスト値は proxy_set_header ホスト $host; ホスト値は転送された Host 値に設定されていますが、要求されたドメイン名は 1.3. proxy_set_header 公式情報公式ドキュメント デフォルト設定は proxy_set_header ホスト $proxy_host; proxy_set_header 接続を閉じる; 1.4 解決策 Host の値は proxy_set_header ホスト $proxy_host; 2. 共通構成の拡張1. $プロキシホストproxy_set_header ホスト $proxy_host; #デフォルト構成# 名前が示すように、リクエスト ヘッダーはプロキシの背後にあるドメイン名に設定されます。 例1: アップストリームオープン-hz8443{ サーバー 10.60.6.184:8000 max_fails=1 fail_timeout=3s weight=10; } ここでの $proxy_host の値は open-hz8443 です。 例2: 場所 ^~ /wss/v1 { プロキシパス http://10.60.6.184:8000; proxy_set_header ホスト $proxy_host; proxy_set_header 接続「アップグレード」; proxy_set_header アップグレード $http_upgrade; tcp_nodelay オン; } 2. $ホストproxy_set_header ホスト $host; # フィールドがリクエスト ヘッダーにない場合は渡すことができません。この場合、Host 変数を設定することで、Host 変数に値を割り当てることができます。 リクエスト ヘッダーに Host 値がない場合、server_name の値が直接使用され、それを埋めます。 リクエスト ヘッダー内の Host 値が受信されると、リクエスト ヘッダー内の Host 値が直接使用されます。 3. $ホスト:$プロキシポート proxy_set_header ホスト $host:$proxy_port; # サーバー名とポートはプロキシサーバーを介して一緒に渡されます。前の項目と比較すると、追加の $proxy_port があります。この $proxy_port は proxy_pass のポートです。ポートがない場合は、80 や 443 などです。 80/443 充填も使用します。 例: proxy_pass http://www.baidu.com; $host:$proxy_port = Baidu ip:80 4. $http_hostproxy_set_header ホスト $http_host; # 変更されない「Host」リクエスト ヘッダー フィールドは、次のように渡すことができます。 リクエスト ヘッダーに Host 値がない場合、server_name の値が直接使用され、それを埋めます。そしてポートを追加します。 80/443 の場合は追加しないでください。 実際には、URL 内の値を要求します。 リクエスト ヘッダー内の Host 値が受信されると、リクエスト ヘッダー内の Host 値が直接使用されます。 例
基本設定 サーバ{ 聞く 80; サーバー名 www.djx.com; 位置 / { proxy_pass http://www.baidu.com/; } } 192.168.1.190 nginx2 サーバ{ 聞く 80; サーバー名 www.baidu.com; 位置 / { プロキシパス http://192.168.1.80:8080/; } } ** 基本設定の使用 ** proxy_set_header ホスト $proxy_host; すると、http://192.168.1.80:8080/ へのヘッダーの値は www.baidu.com になります。 ** $host を使用する ** proxy_set_header ホスト $host; 参考記事: https://cloud.tencent.com/developer/article/1557504 Nginx 構成 proxy_pass 後の 404 エラーに関するこの記事はこれで終わりです。Nginx 構成 proxy_pass に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML フォームタグチュートリアル (5): テキストフィールドタグ
>>: MySQL 文字セットの変更に関する実践的なチュートリアル
目次1. はじめに2回目の練習2.1 インストールと設定2.2 コアクラスの紹介2.3 使い方は? ...
1. スクロールの実装原理better-scroll のスクロール原理は、ブラウザのネイティブスクロ...
序文1. この記事ではMySQL 8.0バージョンを使用していますバージョン5.0と比較すると、パッ...
この記事は主に、PostgreSQL データベースを記述して解析を実装する SQL スクリプト関数を...
このエラーは初心者によく発生します。この記事では主に、エラー 2003 (HY000): '...
<br />原文: http://research.microsoft.com/~hel...
span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...
日常のメンテナンスでは、スレッドがブロックされることが多く、データベースの応答が非常に遅くなります。...
目次1. ルートの遅延読み込みとは何ですか? 2. ルートの遅延読み込みの使用1. ルートの遅延読み...
関連文書この記事の一部は、https://www.cnblogs.com/zhongchao666/...
Ubuntu 18.04 上の Apache で動作するように phpMyAdmin をインストール...
同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...
I. 概要HTML テンプレートを作成するときに、テキスト レイアウトの手段としてスペースが使用さ...
目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...
オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...