1)在命令提示符窗口,進入Tomcat目錄,執行以下命令:
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 36500
紅色表示tomcat的密碼
通過以上步驟生成server.keystore證書文件
cmd命令提示符輸入的信息
A、“您的名字與姓氏是什么?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
“你的組織單位名稱是什么?”、“您的組織名稱是什么?”、“您所在城市或區域名稱是什么?”、“您所在的州或者省份名稱是什么?”、“該單位的兩字母國 家代碼是什么?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“正確嗎?”時,對照輸入信息,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的信息
B、輸入<tomcat>的主密碼,這項較為重要,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以。
2) 配置Tomcat,打開$CATALINA_HOME/conf/server.xml,修改如下,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改參數=>
<Connector port="80" 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="/etc/tomcat.keystore" keystorePass="www.gbcom.com.cn"/>
注釋:標識為紅色的兩個參數,分別是證書文件的位置和<tomcat>的主密碼,在證書文件生成過程中做了設置
<!--
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
-->
修改參數=>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
3) 打開$CATALINA_HOME/conf/web.xml,在該文件末尾增加:
2.強制https訪問在tomcat\conf\web.xml中的</welcome-file-list>后面加上這樣一段:
Java代碼
1. <login-config>
2. <!-- Authorization setting for SSL -->
3. <auth-method>CLIENT-CERT</auth-method>
4. <realm-name>Client Cert Users-only Area</realm-name>
5. </login-config>
6. <security-constraint>
7. <!-- Authorization setting for SSL -->
8. <web-resource-collection >
9. <web-resource-name >SSL</web-resource-name>
10. <url-pattern>/*</url-pattern>
11. </web-resource-collection>
12. <user-data-constraint>
13. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
14. </user-data-constraint>
15. </security-constraint>
