Eclispe開發,本地開發配置HTTPS協議證書
1、前言
現在很多開發網站為了安全,會使用https協議。但是給開發帶來了不小的麻煩,我們eclispe預設的協議是http協議,https協議的接我就會都請求不到,好煩人,只能盲開發。後臺通過網上資料配置了本地證書就可以實現,但是按照網上教程配置之後總會有一些小問題,不能友好的訪問。故此,筆者記錄了一下自己配置的過程。
2、使用工具
SUN公司提供了keytool的工具,為我們解決了這個問題,該工具在jdk的安裝包的bin檔案下。keytool.exe看起來是可執行檔案,雙擊之後會閃退,我們藉助DOM命令完成。
注意:沒有配置JAVA_HOME必須在通過dom命令找到keytool.exe,然後執行一下操作。(筆者配置了JAVA_HOME,直接操作)
3、配置步驟
- ①建立證書
keytool -genkeypair -alias "https_cer" -keyalg "RSA" -keystore "d:\20161010\HTTPS\https_cer.keystore"
其他隨便輸入,具體可參考其他技術文件
- ②檢視證書:
keytool -list -keystore d:\20161010\HTTPS\https_cer.keystore
- ③匯出證書
keytool -export -alias https_cer -file d:\20161010\HTTPS\https_cer.crt -keystore d:\20161010\HTTPS\https_cer.keystore
- ④匯入證書資訊
keytool -import -keystore https_cer -file d:\20161010\HTTPS\https_cer.crt
- ⑤檢視證書資訊
keytool -printcert -file "d:\20161010\HTTPS\https_cer.crt"
此時:證書已經生成,可以配置了。
4、Warning警告消除
有的電腦生成過程中總會有Warning的警告,雖然不會影響,但是看著不爽。對於一個強迫症來說,必須幹掉。
5、tomcat配置
tomcat下的server.xml預設https配置是註釋掉的,需要放開。(找埠為8443的connector的標籤)
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="d:\20161010\HTTPS\https_cer.keystore" keystorePass="testtest1" maxThreads="150" port="443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>
特別說明:將8443埠改成443埠,因為443為https的預設埠。否則訪問的時候,必須加8443端口才能訪問,改成443之後就可以省略不寫,像http協議80埠類似。
啟動專案就可以正常訪問了
6、番外篇
有些文件中指出除上述之外需要配置web.xml,在web.xml中配置資源:
<security-constraint>
<web-resource-collection>
<web-resource-name>my-secure-app</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
但是,筆者發現沒有配置依然可以使用https,所以直接放棄了。有興趣的朋友可以研究研究,筆者偷懶了...
7、參考文件
技術部落格:http://ln-ydc.iteye.com/blog/1335213;https://www.cnblogs.com/hanxs4/p/7246069.html
--END