嗯,我無所不在,但是如果有人知道我在哪裏可以找到解決方案,對於再次詢問問題感到抱歉。Apache與Tomcat的反向代理
我們正在實施此解決方案: HTTP客戶端 - >的Apache 2.4反向代理服務器 - > HTTP服務器=>作品OK HTTPS客戶端 - >的Apache 2.4反向代理服務器 - > HTTPS服務器=>作品OK
但是,當HTTPS服務器使用「302」重定向頭進行回覆時,頭中的服務器名稱不會轉換爲客戶端已知的服務器名稱。因此,由於DNS錯誤,客戶端無法連接。
我們無法在DNS中添加後端服務器名稱,因此我們需要該解決方案才能工作。
重要提示:HTTP中的工作方式相同。這意味着當服務器回覆是HTTP中的「302」重定向頭時,沒有問題。即使重定向的目標是HTTPS鏈接,它也可以工作。所以,不工作的是從HTTPS重定向到HTTPS。 後端web服務器是Tomcat。
的問題是:在HTTPS頭,重定向URL是「https://[backendname]/something.html」但我們希望它是「https://[servername]/something.html」
我們檢查,我們在日誌文件中沒有錯誤(錯誤級別設置爲「調試「)。
這裏是我們的虛擬站點配置:
<VirtualHost [reverse proxy IP]:443>
SSLEngine on
SSLProxyEngine on
SSLCertificateFile D:/Apache24/ssl/certs/servername.cer
SSLCertificateKeyFile D:/Apache24/ssl/private/servername.key
ServerName [servername]
ProxyPass/https://[backendname]:443/
ProxyPassReverseCookiePath/https://[backendname]:443/
ProxyPassReverse/https://[backendname]:443/
SetOutputFilter proxy-html
ProxyHTMLEnable On
ProxyHTMLURLMap https://[backendname] https://[servername]
ErrorLog D:/Apache24/logs/custom/[servername]_error.log
CustomLog D:/Apache24/logs/custom/[servername]_access.log combined
SetEnv nokeepalive ssl-unclean-shutdown
</VirtualHost>
問題相關的Apache激活模塊:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule xml2enc_module modules/mod_xml2enc.so
因此,任何幫助,使這項工作將不勝感激。
謝謝。
我最近發現我的302個響應被緩存,因爲Apache正在插入我不想要的緩存控制指令。我用「ExpiresActive Off」解決了我的問題。 –
我也有類似的問題,通過添加或刪除我的重定向URL和/或表單操作屬性中的前導斜槓解決。 –
謝謝。我試過了,它工作。 – typepub