tomcat https訪問設定

Mr_Alexander發表於2016-06-07
1> 使用jdk工具生成key檔案

 

//在JDK的bin目錄下輸入以下程式碼

[plain] view plaincopyprint?
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 


2>到tomcat/config/server.xml中找到
 
 
<!-- 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" /> 
--> 
去掉註釋,加入key檔案配置
 
 
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
           maxThreads="150" scheme="https" secure="true" 
           clientAuth="false" sslProtocol="TLS"  
  keystoreFile="server.keystore"     
  keystorePass="changeit"/> 
 
儲存後重啟tomcat可通過https://ip:8443/webproject(你的web專案)通過https訪問,以上使用8443埠,若改為443在訪問時可不加埠,因為443是https預設埠
 
 
強制https訪問
 
在tomcat\conf\web.xml中的</welcome-file-list>後面加上以下配置:
 
 
<login-config> 
    <!-- Authorization setting for SSL --> 
    <auth-method>CLIENT-CERT</auth-method> 
    <realm-name>Client Cert Users-only Area</realm-name> 
</login-config> 
<security-constraint> 
    <!-- Authorization setting for SSL --> 
    <web-resource-collection > 
        <web-resource-name >SSL</web-resource-name> 
        <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
        <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
 
這樣輸入http://ip:8080/webproject會強制轉到https://ip:8443/webproject
 
 
若https埠配置為其它埠了記得把http轉接埠一起改了
 www.2cto.com
 
<Connector port="8080" protocol="HTTP/1.1"  
           connectionTimeout="20000"  
           redirectPort="<span style="color:#FF0000;">8443</span>" URIEncoding="UTF-8" /> 

相關文章