用tomcat搭建https

HTTPS,安全的http鏈接,而且蘋果也宣佈,在未來他們將不在支持http,全部的連接均走https。這裏藉助jdk的工具和tomcat服務器,搭建一個HTTPS的服務器html


一、進入java jdk的bin目錄,運行keytool工具java


 keytool有以下參數算法

wKioL1ZFfDOAivXHAAA79hq4Oak092.png

能夠運行如下命令apache

keytool -genkey -alias tomcat -keyalg RSA -keystore D:tmp\tomcat瀏覽器

【解釋:生成的文件名爲 tomcat,https利用的非對稱加密算法爲RSA,把文件生成在D:tmp/目錄下】tomcat

逐步按照提示填寫相關信息安全

wKioL1ZFfFnj1NdZAAA-EZ0l5Sc310.png

而後在個人D盤中生成了一個文件 tomcat服務器


至此,證書已經生成完畢,接下來配置tomcat,使之支持https,本次測試中用的tomcat版本爲tomcat7app


二、配置tomcat工具

路徑:apache-tomcat-7.0.54\conf\server.xml文件


修改Connector 8443的相關配置

原始文件爲

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />


修改成:

  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" enableLookups="false"
           acceptCount="100" disableUploadTimeout="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="D:/tmp/tomcat"
           keystorePass="123456" />


--------------------------

kystoreFile是指生成的證書路徑

keystorePass,證書的密碼,在上述生成的時候我設置的是123456


配置完成之後啓動tomcat  startup.bat

啓動的後,發現有錯誤,錯誤信息以下:

Connector attribute SSLCertificateFile must be defined when using SSL with APR

wKiom1ZFfFaDK_mrAACiHKe0WAE416.png


能夠看到,這種錯誤緣由是因爲Apache的APR所致使,APR是個一個什麼東西呢,百度百科一下


APR(Apache portable Run-time libraries,Apache可移植運行庫)的目的如其名稱同樣,主要爲上層應用程序提供一個能夠跨越操做系統平臺使用的底層支持接口庫。


這種錯誤能夠從新修改配置文件,修改server.xml

把如下代碼給註釋掉

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

或者下載相應的APR庫文件,它須要如下組件支撐

  •  APR library

  • JNI wrappers for APR used by Tomcat (libtcnative)

  • OpenSSL libraries 

(這種方式我沒有去實踐,而是簡單粗暴的採用了第一種方式)


再從新啓動,正常啓動。


三、訪問


在瀏覽器中輸入https://127.0.0.1:8443/

能夠看到瀏覽器報警說證書不受信任,點擊我新人該程序,而且加入到信任列表中。而後便可看到tomcat的管理目錄

至此,tomcat搭建https環境完畢

相關文章
相關標籤/搜索