Tomcat 配置 SSL

jopen 11年前發布 | 21K 次閱讀 Tomcat 應用服務器

1. 創建 keystore 文件

keytool -genkey -alias tomcat -keyalg RSA -validity 20000

keytool是jdk的一個命令,所以要先安裝jdk。 其中參數-validity為證書有效天數,這里我們寫的大些20000天。這樣就在當前目錄下創建了一個 .keystore 文件,并復制到tomcat/conf下面

2. 配置 Tomcat 以使用 keystore 文件

打開 server.xml 找到下面被注釋的這段

<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

去掉注釋,并將內容改為

<Connector port="8443"
           acceptCount="100"
           disableUploadTimeout="true" 
           enableLookups="false"
           SSLEnabled="true"
           maxThreads="150" 
           scheme="https" 
           secure="true"
           clientAuth="false" 
           sslProtocol="TLS"
           keystoreFile="conf/.keystore"
           keystorePass="創建keystore時使用的密碼"
           protocol="org.apache.coyote.http11.Http11NioProtocol"/>

3. 配置應用使用 SSL

打開應用的 web.xml 文件,增加配置如下:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>項目名</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

將 URL 映射設為 /* ,這樣你的整個應用都要求是 HTTPS 訪問,而 transport-guarantee 標簽設置為 CONFIDENTIAL 以便使應用支持 SSL。如果你希望關閉 SSL ,只需要將 CONFIDENTIAL 改為 NONE 即可。

官方文檔: http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!