Godaddy SSL 安裝及Tomcat 7配置,godaddytomcat
基礎環境:Centos 7.X
1. 安裝tomcat 與java 環境;
2.使用jre 程式的keytool 產生密鑰,java 我使用解壓版本並運行目錄在/usr/java,
產生tomcat.keystore 密鑰檔案;
1 /usr/java/jre/bin/keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
然後會提示輸入DNS 資訊及密碼:
Enter keystore password: 設定一個用於保護你keystore檔案的密碼,例如123456Re-enter new password: 重複上面的密碼What is your first and last name? [Unknown]: yourdomain.com 輸入你網站的網域名稱,注意Godaddy的認證一個只能簽名一個網域名稱,也就是說 baidu.com 和 www.baidu.com 不是同一個網域名稱,這裡應該填寫你準備簽名的那一個網域名稱。What is the name of your organizational unit? [Unknown]: Networking 組織單位名稱(隨便)What is the name of your organization? [Unknown]: yourdomain.com 組織名稱(隨便)What is the name of your City or Locality? [Unknown]: Guangzhou 所在城市(隨便)What is the name of your State or Province? [Unknown]: Guangdong 所在省份(隨便)What is the two-letter country code for this unit? [Unknown]: CN 所在國家的兩位代號(隨便)Is CN=www.yourdomain.com, OU=Networking, O=yourdomain.com, L=Shenzhen, ST=Guangdong, C=CN correct? [no]: yes 以上資訊正確則輸入yesEnter key password for (RETURN if same as keystore password): 輸入前面的keystore 密碼
3.使用keytool 通過tomcat.keystore 產生csr檔案,csr.csr 是csr的檔案,提前的csr 名稱可以自訂;
1 /usr/java/jre/bin/keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
Generate csr
4.官方申請認證;
登入到你購買 SSL 憑證商(這裡是 GoDaddy),根據提示進入輸入 CSR 的頁面,用文字編輯器開啟剛才產生的 csr.csr 檔案,把裡面的常值內容複製粘貼到頁面的表單裡即可。SSL 憑證商會根據你的網域名稱發送一封驗證郵件到網域名稱註冊者的Email(所以你要提前注意你的網域名稱註冊的Email地址是什麼,如果是錯誤的話需要先修正,否則收不到驗證Email)。這個過程可能需要幾分鐘或者幾小時,收到驗證Email之後點擊裡面的連結地址就完成私密金鑰簽名了;
5.將官方產生的認證匯入到 tomcat.keystore 裡面;
登入到你購買 SSL 的認證商,下載你的網站已簽名的認證檔案,在 GoDaddy 裡你下載會得到一個壓縮包,裡面放有(domain.crt,gd_bundle-g2-g1.crt,gdig2.crt)
匯入的流程順序:根憑證,中級認證,個人認證;
我所下載的包裡麵包含:(f91dc12f8b1fb94e.crt,gd_bundle-g2-g1.crt,gdig2.crt)
所以根憑證是:gd_bundle-g2-g1.crt 中級認證:gdig2.crt 個人認證:f91dc12f8b1fb94e.crt
請注意:在預設安裝認證時,到最後安裝個人認證會提示:keytool error: java.lang.Exception: Failed to establish chain from reply
解決方案:原因是官方下載的根憑證與中級認證可能是到期,你到它的repository裡找到對應名稱的根憑證下載覆蓋
6.匯入認證:
1 usr/java/jre/bin/keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file gd_bundle-g2-g1.crt2 中級認證3 /usr/java/jre/bin/keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gdig2.crt 4 個人認證5 /usr/java/jre/bin/keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file f91dc12f8b1fb94e.crt
7.tomcat 配置server.xml ,先在tomcat 目錄下面建立一個ssl 檔案夾存放tomcat.keystore 檔案,再在建立一個/var/APP目錄做HTTPS 虛擬目錄;
1 <Service name="CatalinaApp"> 2 <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" 3 maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 4 clientAuth="false" sslProtocol="TLS" 5 keystoreFile="/usr/local/tomcat/ssl/tomcat.keystore" 6 keystorePass="keystore密碼"/> 7 8 <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" /> 9 <Engine name="CatalinaApp" defaultHost="localhost">10 <Realm className="org.apache.catalina.realm.LockOutRealm">11 <Realm className="org.apache.catalina.realm.UserDatabaseRealm"12 resourceName="UserDatabase"/>13 </Realm>14 15 <Host name="localhost" appBase="/var/APP/"16 unpackWARs="true" autoDeploy="true">17 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"18 prefix="APP_access_log." suffix=".txt"19 pattern="%h %l %u %t "%r" %s %b" />20 21 </Host>22 </Engine>23 </Service>
8.啟動tomcat,添加防火牆連接埠,測試