特定のパスを1つのサーバー(Apache)に、他のパスを別のサーバー(Tomcat)にマップするにはapplication load balancerを使用しています。Application Load Balancerを使用してhttpをhttpsにリダイレクトします
ロードバランサにhttps listenerを設定することで、httpsでサイトのすべてのページを利用できるようにしました。
クライアントからロードバランサへの要求は暗号化されますが、ロードバランサからサーバーへの要求は暗号化されません。
ここで、すべてのhttp要求をhttpsにリダイレクトすることもできます。
どうすればいいですか?
各サーバーを別々にリダイレクトすることができます(つまり、hereのようにtomcat httpリクエストをリダイレクトし、リダイレクトルールでApache HTTPリクエストをリダイレクトします)。しかし、私はそれを行うためのより簡単な方法があるかどうか疑問に思っていました(つまり、各サーバーのリダイレクトではなくリダイレクトが1つしかありません)。
ありがとうございました。
あなたがHSTSの実装に見たことがありますか? https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security – mikwat
ありがとうございます。私はHSTSについてあまり知らなかったが、私が理解しているように、たとえ私がHSTSを実装しても、リダイレクトに加えてそうする必要があるだろう...したがって、私の質問は依然として立つ。 – theyuv
ロードバランサはリダイレクトを発行できません。 'x-forwarded-proto'の値を確認し、適切なリダイレクトを発行するようにWebサーバーを構成する必要があります。 –