透過SSL/TLS已終止的負載平衡器存取時,AEM會重新導向回http
本文討論當嘗試透過SSL已終止的負載平衡器(或SSL已終止的CDN)存取時,您會從 https 重新導向至 http 的Experience Manager問題。
說明 description
環境
Experience Manager
問題/症狀
透過 SSL 已終止的負載平衡器 (或 SSL 已終止的 CDN) 存取 AEM 時,則 AEM 會從 https 重新導向 http。
負載平衡器處的 SSL 終止表示 SSL 憑證已安裝在負載平衡器中。一般使用者可透過https://存取網站,而Dispatcher/網頁伺服器和AEM則在後端透過http://存取。
解決方法 resolution
若要修正問題:
I.更新Dispatcher /clientheaders設定
請參閱負載平衡器的文件,了解它設定了哪個標題來通知下游系統它終止了 SSL。為方便起見,在這些步驟中,我們假設正確的HTTP標頭為"X-Forwarded-Proto: https"
- 登入到 Dispatcher 伺服器。
- 開啟Dispatcher陣列.any設定。
- 將標題新增至/clientheaders區段。
如果您使用沒有負載平衡器的Dispatcher,或者您的負載平衡器或Proxy無法設定 X-Forwarded-Proto 標頭,則您可以在網頁伺服器或Dispatcher層級進行設定。 如果您正在使用 Apache HTTP 伺服器,請使用這個指示詞更新您的 HTTPS VirtualHost:
1
RequestHeader
set
X-Forwarded-Proto
"https"
II. 更新標題設定:
- 前往
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
,並以管理員身分登入。 - 將 SSL 轉寄標題設定為 X-Forwarded-Proto.
- 將 SSL 轉寄值設定為 https。
- 按一下 儲存。
注意:
沒有用於告知後端使用哪種通訊協定的反向 Proxy 標題的標準。但是,這裡有一些是已知的:
- Amazon ELB (彈性負載平衡器)使用「X-Forwarded-Proto:https」標頭。
- Amazon Cloudfront CDN使用「X-Cloudfront-Proto:https」標頭。
III. 更新 Jetty OSGi 設定 (AEM 6.3 及更高版本)
在AEM 6.3及更高版本上,需要額外的設定:
- 登入
http://aem-host:port/system/console/configMgr/org.apache.felix.http.
- 啟用設定 啟用Proxy/負載平衡器連線 並儲存。
原因
不同的負載平衡器會傳送不同的標頭來通知後端系統 SSL 已在上游終止。 例如,Amazon ELB使用標頭「X-Forwarded-Proto: https」。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f