tomcat開啓https服務

1、建立證書

證書是單點登陸認證系統中很重要的一把鑰匙,客戶端於服務器的交互安全靠的就是證書;本教程因爲是演示因此就本身用JDK自帶的keytool工具生成證書;若是之後真正在產品環境中使用確定要去證書提供商去購買,證書認證通常都是由VeriSign認證,中文官方網站:http://www.verisign.com/cn/web

用JDK自帶的keytool工具生成證書:apache

打開命令行界面,輸入:keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500

d:/tomcat.keystore是將生成的tomcat.keystore放到d盤根目錄下。tomcat

"-validity 36500含義是證書有效期,36500表示100年,默認值是90天.安全

下面爲命令的過程,主要須要記住密鑰庫口令。服務器

輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什麼?
[Unknown]: gradven
您的組織單位名稱是什麼?
[Unknown]: gradven.com
您的組織名稱是什麼?
[Unknown]: gradven.com
您所在的城市或區域名稱是什麼?
[Unknown]: hangzhou
您所在的省/市/自治區名稱是什麼?
[Unknown]: zhejaing
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: CN
CN=gradven, OU=gradven.com, O=gradven.com, L=hangzhou, ST=zhejiang, C=CN是否正確
?
[否]: 是app

進入到D盤根目錄下能夠看到已經生成的tomcat.keystore 。jsp

2、配置tomcat

進入tomcat文件夾 
找到conf目錄下的sever.xml並進行編輯工具

編輯 
  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
     maxThreads="150" scheme="https" secure="true" 
     clientAuth="false" keystoreFile="D:/ApacheSoftwareFoundation/apache-tomcat-6.0.3/conf/tomcat.keystore" 
     keystorePass="123456" sslProtocol="TLS" /> 
注: 
參數中的keystorePass的密碼,就是剛纔咱們設置的「123456」.網站

而後重啓tomcat,使用https://127.0.0.1:8443 訪問頁面,能訪問便可。url

 

最後在應用程序中web.xml中<web-app>節點下加入如下配置,就能夠根據url匹配限制須要強制走https的頁面:

(另外還有一種比較土的方法是,增長一個過濾器攔截全部的請求,能夠選擇將請求地址強制http更改成https, 還注意下端口的更改)

    <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> /jsp/snp/*</url-pattern>      </web-resource-collection>      <user-data-constraint>         <transport-guarantee>CONFIDENTIAL</transport-guarantee>      </user-data-constraint>    </security-constraint>
相關文章
相關標籤/搜索