首先說明,本文內容在 GOOGLE 上能搜到,所以是原創但不是首創。在此記錄,僅供備忘。
今天做了個實驗,在 Tomcat 5.5 中啓用 HTTPS 的連接。以前都是通過 APACHE 來做的,這回圖省事,直接用 TOMCAT 了,沒想到還挺麻煩。
重要提示:兩種容易出錯的情況
1、keystore的密碼與tomcat的主密碼不一致;在接下來的步驟中,請把這兩個密碼輸入成相同的;
2、用來生成keystore的java版本與運行tomcat的java版本不一致;運行下面的命令之前,先檢查一下。
wakan@wakan:~/tomcat2/bin>which java
/home/jdk150/bin/java
在啓動tomcat時,看看所用的JAVA_HOME是不是上面的/home/jdk150,如果不是,請修改用戶的profile文件,或者修改tomcat的啓動文件。
最簡單的做法是在/etc/profile文件中加入下面幾行,然後重新登錄,再進行後續操作:
JAVA_HOME=/home/jdk150
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
一、生成 KeyStore
這一步比較簡單,利用 JDK 自帶的 keytool 即可完成。命令如下:
wakan@wakan:~/tomcat2/bin> keytool -genkey -alias tomcat -keyalg RSA
輸入keystore密碼: ************
您的名字與姓氏是什麼?
[Unknown]: Wakan.Jiang
您的組織單位名稱是什麼?
[Unknown]: ZZNode
您的組織名稱是什麼?
[Unknown]: ZZNode
您所在的城市或區域名稱是什麼?
[Unknown]: BeiJing
您所在的州或省份名稱是什麼?
[Unknown]: BeiJing
該單位的兩字母國家代碼是什麼
[Unknown]: CN
CN=Wakan.Jiang, OU=ZZNode, O=ZZNode, L=BeiJing, ST=BeiJing, C=CN 正確嗎?
[否]: 是
輸入<tomcat>的主密碼
(如果和 keystore 密碼相同,按回車):
特別說明:上邊輸入的“<tomcat>的主密碼”,與keystore密碼一定要相同,否則TOMCAT起不來。至少我試了幾次都不行。報錯如下:
2007-3-26 17:07:01 org.apache.coyote.http11.Http11BaseProtocol init
嚴重: Error initializing endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket Factory.java:125)
二、修改 server.xml
在 TOMCAT/conf/server.xml 中,修改與 SSL 相關的那一段,我改成下面這樣:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true" keystorePass="******"
clientAuth="false" sslProtocol="TLS" />
這裏要指定keystorePass,如果寫錯了,會出現下邊的錯誤:
嚴重: Error initializing endpoint
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:768)
三、啓動 Tomcat
這一步比較簡單,就不多說了。啓動完成後,在瀏覽器中輸入:[url]https://localhost:8443[/url],即可看到TOMCAT的主頁面。
wakan@wakan:~/tomcat2/bin> ./startup.sh
Using CATALINA_BASE: /home/wakan/tomcat2
Using CATALINA_HOME: /home/wakan/tomcat2
Using CATALINA_TMPDIR: /home/wakan/tomcat2/temp
Using JRE_HOME: /home/jdk150/jre
2007-3-26 17:09:39 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
備忘:啓用 Tomcat 下的 HTTPS
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.