為了防止包監(jiān)聽,,Https屬于必須品,現(xiàn)在Web服務(wù)器基本上都有直接支持https的功能,,這里記錄一下在tomcat里面怎么開啟https,。 1. 生成Keystore (使用tomcat作為別名,RSA算法) Windows: %Tomcat_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA Unix: $Tomcat_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA 證書生成之后使用list命令查看證書內(nèi)容 $Tomcat_HOME/bin>keytool -list
Note:系統(tǒng)中更常用的是使用openssl生成證書,。 2. 在$Tomcat\conf\server.xml中修改tomcat connector,開始https connector,,端口改成ssl的默認(rèn)端口443,,加入keystoreFile位置和keystore剛剛設(shè)置的密碼。 <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="HTTP/1.1" port="443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="${user.home}/.keystore" keystorePass="********" clientAuth="false" sslProtocol="TLS"/> Note:因?yàn)榇蟛糠秩硕剂?xí)慣輸入http地址,為了友好,,可以直接把http connector直接redirect到ssl的connector上面,,只要簡(jiǎn)單的加入端口重定向(redirectPort="443")就可以了。 3. 重啟tomcat 大功告成,,重啟tomcat之后的訪問都必須走h(yuǎn)ttps,,不用擔(dān)心被輕易偷包了,當(dāng)然這種https認(rèn)證由于是自己生成的,,沒有經(jīng)過認(rèn)證,,會(huì)被瀏覽器警告,要生成認(rèn)證證書,,那就是另外一個(gè)故事了,。 Note:Tomcat也支持修改web.xml的security-constraint來保證所有的訪問是通過https。 |
|