ホームページ  >  に質問  >  本文

ホームページと一致する nginx に関する奇妙な問題

リーリー

ユーザーが www.abc.com/ にアクセスするときに proxy_pass を使用しないようにしたいのですが、代わりにローカルの /opt/wwwroot/abc.com/index.html ページに直接アクセスでき、他のすべてのリクエストは proxy_pass を経由します。
長い間取り組んでいますが、理解できません。少し変です。助けてください。 。

淡淡烟草味淡淡烟草味2712日前504

全員に返信(4)返信します

  • 怪我咯

    怪我咯2017-05-16 17:30:20

    リーリー

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:30:20

    これは、nginx のデフォルトの位置一致ルールが原因で発生します。nginx の位置一致ルールは、相対 URI と一致します。

    1. 最初の一致「=」、いわゆる完全一致
    2. 次に、「~」や「^~」などの正規表現と一致します
    3. 次に、設定ファイルの順序に従って一致させます
    4. 最後に、ユニバーサルマッチングに引き渡します

    nginx の位置一致ルールを理解すると、www.abc.com/ の相対 URI が / であることが簡単に説明できます。まず、www.abc.com/adf などの他の相対 URI と正確に一致します。これは/adfであり、位置マッチングルールに従ってユニバーサルマッチングに渡されます

    この問題を解決したい場合は、インデックスをユニバーサルマッチングに置くだけで、別の場所 = / {} を記述しても、ニーズには影響しません。

    返事
    0
  • 迷茫

    迷茫2017-05-16 17:30:20

    以下の場所が必要ない場合は、index.html にインデックスを付けるだけです

    ;

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:30:20

    2つの場所を置き換えます。 。 。

    返事
    0
  • キャンセル返事