安全な環境向けにJBossを設定するのに問題があります。
これが私たちの環境です:
ドメインのワイルドカード証明書を持つF5ロードバランサーがあります。
ピーナッツと呼ばれるサーバー上のJBossでいくつかのアプリケーションを実行しています。
ファイアウォール内から、アプリケーションを次のように実行できます http://peanut.mydomain.com:808
ファイアウォールの反対側から、サーバーはサブドメインの下のHTTPS経由でのみアクセス可能です https://pule.mydomain.com:808
ロードバランサーには証明書があります。したがって、 https://pule.mydomain.com のリクエストは、ロードバランサーに安全に到達します。ロードバランサーとピーナッツの間のリクエストはhttpです。
現在、このアプリはAJAX呼び出しとWebサービスを使用しています。ロードバランサーの外部から https://pule.mydomain.com:808 -と呼び出しますが、ロードバランサーとピーナッツはhttpであり、Webページは参照を返しました http://pule.mydomain.com:808 。
http://pule.mydomain.com はどこからもアクセスできず、AJAX呼び出しは失敗します。
私の質問は、httpsを常に使用するようにJBossを設定する方法ですが、独自の証明書は必要ありません。
これは私が持っているものであり、機能していません。ファイアウォールとjbossサーバーの間に安全な接続がないため、ポート8443にリダイレクトする必要はないと思います。
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" scheme="https" />
コネクタにsecure=true
を追加してみてください。アプリケーションが「request.isSecure()」の結果に依存して、それらの参照を構築するときにhttpsを使用するかどうかを決定すると仮定すると、問題は解決します。
F5デバイスを構成して RL書き換え を実行する必要があります。また、おそらくその記事の最後に記載されている ProxyPass iRule (登録が必要)も追加する必要があります。