Apache-2.2
從 Apache 到 Tomcat 的 SSL 解除安裝在某處被覆蓋
我被要求將在 Debian Wheezy 上執行 Apache 和 Tomcat-6 的伺服器從 HTTP 升級到 HTTPS。我已成功獲得併在 Apache 部分安裝 SSL 證書並檢查它們是否工作(使用兩個不同的 SSL 檢查器)。
接下來,我將以下塊添加到
/etc/apache2/sites-available/default-ssl
:<VirtualHost *:80> ServerName server.name Redirect permanent / https://server.name/ </VirtualHost>
這到
<VirtualHost _default_:443>
同一文件中塊的末尾:ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
在 Tomcat 端,該
/etc/tomcat6/server.xml
文件包括兩個活動連接器:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> <Connector address="127.0.0.1" port="8009" protocol="AJP/1.3" redirectPort="8443" />
現在,當我轉到 時
https://server.name/app/main/login.jspx
,我得到了一個 SSL 連接,但它在登錄後消失了。如果我去
https://server.name/app
,我會立即被重定向到http://server.name/app/main/login.jspx
(無 SSL)。(如果我去 just
https://server.name/
,我最終會出現在 中定義的重定向頁面/var/lib/tomcat6/webapps/ROOT/index.html
。)我究竟做錯了什麼?我需要改用 AJP 代理嗎?
如果此連接器正在代理配置中使用,請配置
proxyName
,proxyPort
。<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" scheme="https" proxyName="server.name" proxyPort="443" secure="true" />
您還需要將
scheme
和secure
屬性分別設置為 https 代理的值https
和。true
要將 http 重定向到 apache 伺服器中的 https,請嘗試在預設配置中添加指令
/etc/apache2/sites-available/000-default.conf
。