AmazonAMIでApache2と一緒にTomcatを実行しています。これまで、すべてのユーザーがURLにポート番号8080を入力してWebアプリにアクセスしていましたが、Tomcatは8443に自動リダイレクトします。
しかし、今はすべてのユーザーが80/443からアプリにアクセスできるようにしたいので、Apacheでsslを構成して、ポート80から443にすべてのリクエストを転送し、443をポート8080に転送します。すべてが正常に機能します。
問題は、既存のユーザーのブラウザのアドレスバーすべてにオートコンプリートとしてURLにポート番号8443があり、ユーザーがそのURLのみをヒットする可能性が高いことです。したがって、すべての8080/8443トラフィックをポート80にリダイレクトする構成を導入したいと思います。
Iptables-servicesをインストールしようとしましたが、正しく理解できませんでした。また、それが無限のリダイレクトループ、ポート8080-> 80-> 8080で終わるかどうかも疑問です。それで、これをより適切に処理する方法を私に提案してください。
他のポートでリッスンするようにTomcatを再構成できます。 8088そしてApacheを設定します:
http://example.com 、 http://example.com:8080 、および https://example.com:8443 リダイレクト先 https://example.com (つまりポート443)。これらはTomcatに渡されません。
https://example.com (つまりポート443)からTomcatポート8088へのトラフィックのみを通過させます。
これにより、リダイレクトが解決されるだけでなく、SSLの使用が必須になります。
または、AWS Application Load Balancerを使用して上記のすべてを実行できます-リダイレクト、SSLターミネーションを実行でき、ポート443からのSSLトラフィックのみがあなたのTomcat。追加の利点は、Amazon Certificate Managerを使用してSSL証明書を管理および更新できることです。
お役に立てば幸いです:)
Server.xmlのコネクタを変更して、Tomcatが複数のポートでリッスンするようにすることができます。その後、サービスは80、443、8080、8443で利用できるようになります。
Mod_jkを使用していないように見えることに注意してください。つまり、ユーザーはApachehttpdからTomcatインストールへのリンクに送信されています。 mod_jkを使用すると、ユーザーは常にhttpdに接続し、Tomcatにリクエストを転送するため、80/443でのTomcatのリッスンがなくなります。両方のWebサーバーが同じサーバーの同じポートでリッスンすることはできません。