分享到Facebook    分享到Plurk    分享到Twitter   分享到新浪微博

Tomcat 7 SSL憑證設定與強制轉至https

Posted 星期四, 八月 24 2017 21:35 作者 黑熊

由於 Chrome 更新之後,網頁如有 input的表單,將會在網址列出現不安全,因此網站全數都需要支援https的加密,由於 Tomcat 並非我熟悉的環境,稍微做了一些功課後,終於把https都設定完成。

目前發現最見單的方法是使用呼叫 pfx 的方式安裝憑證最為容易,只需要更改 /conf/server.xml 的檔案即可。

先搜尋 SSL 可以找到以下訊息

    <!-- Define a SSL HTTP/1.1 Connector on port 8443

         This connector uses the JSSE configuration, when using APR, the

         connector should be using the OpenSSL style configuration

         described in the APR documentation -->

    <!--

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

      -->

原始是註解未開啟,在下方直接加入以下語法

     <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" 

        connectionTimeout="20000"

        maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" 

        maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" 

        acceptCount="100" scheme="https" secure="true" SSLEnabled="true" 

        clientAuth="false" sslProtocol="TLS" 

        keystoreFile="file.pfx" keystorePass="YouPfxPassword" 

        keystoreType="PKCS12"/>

files.pfx 請直接填寫檔案真實路徑和檔名

YouPfxPassword 請填寫你的 pfx 檔案的匯入密碼

重新啟動 Tomcat 後,https就會生效。

另外如果需要將網站強制導入 https,可更改 conf/web.xml

於<web-app></web-app> 內,加入以下訊息

<security-constraint>

        <web-resource-collection>

                <web-resource-name>Protected Context</web-resource-name>

                <url-pattern>/*</url-pattern>

        </web-resource-collection>

        <user-data-constraint>

                <transport-guarantee>CONFIDENTIAL</transport-guarantee>

        </user-data-constraint>

</security-constraint>

重新啟動 Tomcat 後,http將會強制導入https。

若想知道更多的消息,歡迎加入布雷克人生粉絲專頁!