久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

tomcat配置HTTPS

2016-11-15 17:19:34 5787

有的時候我們希望我們的請求使用https如果希望 Tomcat支持 Https,主要的工作是配置 SSL協議,那我們需要做些什么那具體如下:

一、生成安全證書(個人學習可以使用工具生成,而如果是公司的則另當別論了)

二、配置tomcat 服務器

1、個人環境:

jdk 1.7  tomcat 7


2、生成安全證書:在jdk的安裝目錄下的D:JDKjdk7in 目錄下有keytool.exe     這個?是sun(oracle)公司提供的生成安全證書的工具

3、創建證書的命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f: omcat.keystore"   

4、命令中的參數介紹如下:

5、安全證書生成過程:名字與姓氏為域名,其它的根據具體情況輸入,我這里輸入的密碼是tomcat


以上命令將生產一對非對稱密鑰和自我簽名的證書F: omcats.keystore.

將證書保存到你要存放的地方,我的保存在F: omcat.keystore

注意:“名字與姓氏”應該是域名,輸成了姓名,和真正運行的時候域名不符,會出問題




到這里我們就已經有了證書下面來配置tomcat

7、進入到tomcat 的conf 目錄下修改servlet.xml ,找到這個配置,添加你的證書的地址以及密碼



<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
              <span style="color:#FF6600;"> keystoreFile="F:	omcats.keystore"</span>
               <span style="color:#FF6600;">keystorePass="tomcat"
               ciphers="tomcat"</span>
               />




這里,密碼和證書的位置根據個人的具體環境而設置,屬性參數如下所述:


屬性

描述

clientAuth

如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證

keystoreFile

指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對<CATALINA_HOME>Tomcat安裝目錄)環境變量的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名為“.keystore”的文件。

keystorePass

指定keystore的密碼,如果此項沒有設定,在默認情況下,Tomcat將使用“changeit”作為默認密碼。

sslProtocol

指定套接字(Socket)使用的加密/解密協議,默認值為TLS,用戶不應該修改這個默認值。

ciphers

指定套接字可用的用于加密的密碼清單,多個密碼間以逗號(,)分隔。如果此項沒有設定,在默認情況下,套接字可以使用任意一個可用的密碼。


8、到這里已經配置完成了,下面看看訪問

選擇繼續瀏覽此網站


到這里我們的tomcat 配置也就成功了!

但是我們希望當我們訪問某些頁面的時候http請求方式自動轉化為https協議,這樣我們還得在配置一下tomcat

9、在tomcat的conf下的web.xml的最后添加配置文件實現http協議自動轉化?https 協議同時修改一下servlet.conf 中配置文件的端口號:


1)、  修改了配置文件的端口號為443,同時將servlet.xml 中的redirectPort 的端口都改為443



注釋之前的配置,端口號

<!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="F:	omcat.keystore"
               keystorePass="tomcat"
               ciphers="tomcat"
               /> -->// 修改端口號

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="F:	omcat.keystore"
			   keystorePass="tomcat"
               ciphers="tomcat"
			   />





2)、配置文件添加在 <welcome-file-list>   </welcome-file-list> 配置文件后面


對所有的請求都轉化為https<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>只對 .jsp 的請求自動轉化為https<security-constraint>  
        <web-resource-collection >  
            <web-resource-name >SSL</web-resource-name>  
            <url-pattern>*.jsp</url-pattern>  
        </web-resource-collection>  
        <user-data-constraint>  
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
        </user-data-constraint>  
    </security-constraint>在<url-pattern> 中可以配置你希望自動轉化的請求路徑 /* 、  login.html 、 login.jsp 等等。





    到這里我們的所有配置都完成了,你就不用每次寫https 只要是你在web.xml 配置文件中指定的請求路徑都會自動轉化為https 請求方式。不然都用http方式。


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: