1

Tomcat サーバー (クラスター化) でホストされている Web アプリケーションがあり、2 つの Apache Web サーバーが前面に配置され、F5 ロード バランス5 が Apache の前面にあります。SSL は F5 ロード バランサーで構成されます。これで、誰かがロード バランサーのセキュア URL を使用してアプリケーションにアクセスするたびに、Java Web アプリケーションは request.isSecure が true であると評価しなくなりました。これを有効にするために必要な設定はありますか。

私たちのApache Webサーバーには、プロキシバランサーを使用して次の構成があります

ServerName ip:80

ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / balancer://mycluster/
<Proxy balancer://mycluster>
          BalancerMember ajp://ipapp1:8009 route=jvm1 loadfactor=1
          BalancerMember ajp://ipapp2:8009 route=jvm2 loadfactor=1 status=+H
          ProxySet lbmethod=byrequests
</Proxy>

8080に schema= "https", secure="true" と proxyPort="443"を追加して、tomcat の server.xml のコネクタの詳細を変更しようとしましたが、うまくいきませんでした。

ここで何が欠けていますか?

4

2 に答える 2

1

アプリがサポートされているかどうかを確認する必要がありますが、通常は、要求プロトコルを通信するヘッダーが転送されます。従来、これは X-Forwarded-Proto ヘッダーでしたが、X-... 命名法は廃止されました。Forwarded ヘッダーは、X-Forwarded-For、X-Forwarded-Proto などを 1 つのヘッダーでサポートするようになりました。ただし、非推奨の方法はまだ広くサポートされているため、アプリのサポートが保留されている場合は、どちらの方法でも機能するはずです。

X-Forwarded-Proto: https

また

Forwarded: proto=https

新しい標準はRFC 7239で説明されています

于 2015-11-10T21:55:56.607 に答える