tomcat設置http自動跳轉爲https訪問

一、生成服務器端證書文件
可以使用Windows系統或者Linux系統
(1)Windows環境
條件:已經安裝JDK
步驟:
1、在運行裏輸入cmd進入命令窗口
2、進入JDK安裝目錄  如D:/Program Files/Java/jdk1.6.0/bin
3、執行命令   keytool -genkey -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500
參數簡要說明:“E:\tomcat.keystore”含義是將證書文件保存在E盤,證書文件名稱是tomcat.keystore ;“-validity 36500”含義是證書有效期,36500表示100年,默認值是90天
4、在命令行填寫必要的參數:
A、輸入keystore密碼:此處需要輸入大於6個字符的字符串
B、“您的名字與姓氏是什麼?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
C、“你的組織單位名稱是什麼?”、“您的組織名稱是什麼?”、“您所在城市或區域名稱是什麼?”、“您所在的州或者省份名稱是什麼?”、“該單位的兩字母國家代碼是什麼?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“正確嗎?”時,對照輸入信息,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的信息
D、輸入<tomcat>的主密碼,這項較爲重要,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以
5、完成上述輸入後,直接回車則在你在第二步中定義的位置找到生成的文件
(2)Linux環境
條件:安裝了JDK
步驟:
1、進入JDK安裝目錄  如/root/Oracle/Middleware/jdk160_11/bin
2、執行命令     ./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat.keystore -validity 36500
參數簡要說明:“/etc/tomcat.keystore”含義是將證書文件保存在路徑/usr/local/下,證書文件名稱是tomcat.keystore ;“-validity 36500”含義是證書有效期,36500表示100年,默認值是90天
3、在命令行填寫必要的參數:
A、Enter keystore password:此處需要輸入大於6個字符的字符串
B、“What is your first and last name?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What is the two-letter country code for this unit?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“correct?”時,對照輸入信息,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的信息
D、Enter key password for <tomcat>,這項較爲重要,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以
4、 完成上述輸入後,直接回車則在你在第二步中定義的位置找到生成的文件
二、配置TOMCAT服務器
(1)    如果你是在Windows環境中生成證書文件,則需要將生成的證書tomcat.keystore拷貝到Tomcat將要引用的位置,假設tomcat的應用證書的路徑是“E:/tomcat.keystore”,則需要將證書文件拷貝到E盤下;
(2)    配置Tomcat,打開tomcat配置文件,如:D:/apache-tomcat-6.0.29/conf/server.xml,修改如下,
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改參數=>
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />
 
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS"/>
 -->
去掉註釋且修改參數=>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456789"/>
註釋:標識爲淡藍色的兩個參數,分別是證書文件的位置和<tomcat>的主密碼,在證書文件生成過程中做了設置
 
<!--
   <Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
-->
修改參數=>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
(3) 打開D:/apache-tomcat-6.0.29/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> 
三、上述配置完成後,重啓TOMCAT後即可以使用SSL。IE地址欄中可以直接輸入地址 “http://” 會自動跳轉成爲 “https://” 
四、注意事項:
(1)生成證書的時間,如果IE客戶端所在機器的時間早於證書生效時間,或者晚於有效時間,IE會提示“該安全證書已到期或還未生效”
(2)如果IE提示“安全證書上的名稱無效或者與站點名稱不匹配”,則是由生成證書時填寫的服務器所在主機的域名“您的名字與姓氏是什麼?”/“What is your first and last name?”不正確引起的
五、遺留問題:
(1)如果AC主機不能通過域名查找,必須使用IP,但是這個IP只有在配置後才能確定,這樣證書就必須在AC確定IP地址後才能生成
(2)證書文件只能綁定一個IP地址,假設有10.1.25.250 和 192.168.1.250 兩個IP地址,在證書生成文件時,如使用了10.1.25.250,通過IE就只能使用10.1.25.250 來訪問AC-WEB,192.168.1.250是無法訪問AC-WEB的。
發佈了58 篇原創文章 · 獲贊 19 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章