Apache-2.2

從 Apache 到 Tomcat 的 SSL 解除安裝在某處被覆蓋

  • May 3, 2016

我被要求將在 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" />

您還需要將schemesecure屬性分別設置為 https 代理的值https和。true

要將 http 重定向到 apache 伺服器中的 https,請嘗試在預設配置中添加指令/etc/apache2/sites-available/000-default.conf

引用自:https://serverfault.com/questions/774300