EC2ロードバランサーのヘルスチェックを設定して、次の#
ようなURLを指すようにしました/#/applications
ボックスにSSHで接続し、URLをカールすると、応答コード200が返されます。
ただし、ロードバランサーは次のエラーを出します。
Health checks failed with these codes: [400]
ヘルスチェックのURLをに変更すると/
、ロードバランサーは問題ないと言います。
URLエンコードの問題の可能性があると思います。URLで許可される文字に制限はありますか?
#
リクエストURIの有効な文字ではありません。#
シンボルマークURLフラグメントの始まり。
を使用してURLにアクセスすると#
、URIは#
サーバーに送信される前に、ブラウザーによって切り捨てられます。サーバーはこれを認識しません。これはクライアント側でのみ使用されます。
したがって、ヘルスチェックでは無効であり、サーバーはそれをとして拒否するのが正しい400 Bad Request
です。ブラウザからのフラグメントを使用してサイトのURLにアクセスすると、ブラウザがURLを#
送信しないため、がWebサーバーによってログに記録されないことがわかります。
何らかの理由で実際にURLエンコードさ#
れたもの%23
が必要な場合、それは次のように記述されますが、これがあなたが探しているものになるとは思いません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加