tomcat配置https訪問,ssl證書申請

最近開發瀏覽器人臉採集功能,需要使用H5調用攝像頭,發現最新版的谷歌和火狐瀏覽器安全機制不允許通過http協議打開攝像頭,所以自己使用jdk自帶的工具申請了證書配置到tomcat,然後訪問https協議訪問tomcat發佈的服務

1.使用jdk自帶的keytool生成證書keystore

 1.1打開cmd窗口後 cd到jdk目錄bin目錄 

1.2輸入 keytool -genkey -alias test01 -keyalg RSA -keystore F:\test01.keystore

 

1.3 按照提示一步步操作就行,第一步輸入證書口令

1.4 到了這裏確認是否正確,正確輸入y,否則請輸入n

輸入y後輸入祕鑰口令,我都是設置和祕鑰庫一樣的口令

1.5完成後查看指定的keystore目錄已經生成了test01.keystore

 

2.把證書配置到tomcat

 2.1   打開tomcat的server.xml文件

找到配置tomcat http端口所在的位置

在下面增加以下代碼段

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" URIEncoding="utf-8"

               maxThreads="1500" scheme="https" secure="true" useBodyEncodingForURI="true"

               clientAuth="false" sslProtocol="TLS" keystoreFile="D:\xxxx\test01.keystore" keystorePass="123456"    /> 

其中配置http端口的地方 redirectPort需要修改爲和https所配置的端口,這樣當http協議訪問時才能自動重定向到https協議的端口

443爲https協議的默認端口,這樣https訪問時可以不輸入端口號訪問

2.2 配置tomcat web.xml 文件 結合http重定向端口完成 http訪問自動跳轉到https 

 打開web.xml拉倒最底部  該位置下增加代碼,配置tomcat的認證類型,配置所有請求都經過SSL證書認證

  <login-config>  
       <auth-method>CLIENT-CERT</auth-method>  
        <realm-name>Client Cert Users-only Area</realm-name>  
    </login-config>  
    <security-constraint>  
       
        <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>

 

 

 

 

3.啓動tomcat 使用https協議訪問發佈的服務

https://ip/項目名

由於證書自己申請,未經機構認證,瀏覽器會提示危險,點擊高級繼續訪問即可

使用http協議訪問http://ip:8085/項目名 發現會自動跳轉到https的地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章