私はElastic Beanstalk経由でSpring Bootアプリケーションをデプロイしました。私はロードバランサを使用していますので、これは(私が理解する限り)フローです:Spring Boot&ELB - httpをhttpsにリダイレクトするロードバランサを作成するにはどうすればよいですか?
インターネット/ブラウザリクエスト--- HTTPS --->ロードバランサ--- HTTP ---> Spring Boot Appサーバー
本質的に、SSLはロードバランサで終了し、アプリケーションサーバーは単純な古いHTTPを処理します。
ブラウザからのHTTPリクエストの場合、ロードバランサが自動的にHTTPSにリダイレクトされるようにしたいと思います。
この問題に関するいくつかの質問があります。
Spring Boot with Embedded Tomcat behind AWS ELB - HTTPS redirect
How to redirect automatically to https with Spring Boot
Spring Boot redirect HTTP to HTTPS
しかし、これらの質問に対する答えのどれも私には意味をなさないが。多分私は誤解しているかもしれませんが、すべての回答は基本的にSpringブートアプリケーションだけをサーバーのHTTPSリクエストにします(例えばhttp.requiresChannel().anyRequest().requiresSecure()
を使用している場合)。
しかし、ロードバランサで終端するSSLとHTTPだけを処理するSpring Bootアプリケーションサーバーでは問題ないので、これは流れに反しています。ですから、私が春の起動レベルでSSLを要求しているのであれば、エンドツーエンドのSSL接続を行う必要があります。これは私のアプリケーションには本当に必要ではありません。
私はどちらか助けていないようだ次のプロパティも使用している:私はこれが重複している場合、この問題はすでに解決されていると私は謝罪確信しているが、私はできません
server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto
をこれを理解しているようです。
何か助けていただきありがとうございます。ありがとう!