1. 程式人生 > >Tomcat如何配置Https訪問方式

Tomcat如何配置Https訪問方式

前提條件:已經下載並安裝配置好Tomcat,訪問http://localhost:8080的時候會出現tomcat的介面。

第一步:配置hosts檔案

新增一行127.0.0.1 codecrazy.cn。這一步不是必要的,只是為了訪問的時候效果更好(逼格更高)一點。此時就可以通過http://codecrazy.cn:8080進行訪問了。

第二步:生成證書

這裡採用JDK自帶的keytool工具來生成。

這裡寫圖片描述

如上圖所示,輸入紅框中的命令:

E:\Java\bin>keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -keypass changeit -validity 365
-keystore e:\sms\tomcat.keystore -storepass changeit

之後需要填寫幾個問題,最後一個問題填入‘y’並回車。

執行上述命令之後會在e:\sms下面生成一個tomcat.keystore檔案,-keystore選項指定儲存位置和檔名。如果不指定的話會預設在使用者的主目錄下生成一個“.keystore”檔案,-storepass指定儲存密碼。 -keypass指定的庫密碼,這2個密碼不需要一樣。
具體keytool的用法請參見:http://www.micmiu.com/lang/java/keytool-start-guide/

注意事項:“您的名字與姓氏是什麼?”這個問題我寫的是“codecrazy.cn”,實踐表明

這個地方要填你訪問網站時的域名。我這裡填的是codecrazy.cn。如果沒配置hosts檔案,而是通過localhost來訪問網站,那就填localhost。剩下的幾個問題貌似隨便填也沒什麼關係。

第三步:生成證書之後再配置tomcat的conf目錄下的server.xml檔案

<!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the BIO implementation that requires the JSSE
         style configuration. When using the APR/native
implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="E:\sms\tomcat.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />

port=8443這個Connector的配置初始情況下是註釋掉的,去掉註釋,並新增上述的一些屬性配置。其中keystoreFile填的就是之前用keytool生成的tomcat.keystore檔案的路徑,keystorePass就是之前keytool命令中-storepass選項中指定的值。
對於protocol有多種配置方法,如是否啟用apr的方式,不同的方式有不同的配置,具體可以參考官方文件http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

這裡我採用Http11Protocol,它採用的是BIO的方式處理網路連線請求。至於bio,nio,apr三種方式的區別是什麼不在本文討論之列。

然後啟動tomcat,在啟動過程輸出的資訊中可以看到多了一個監聽在8443埠上的連線處理器,如下圖所示:

這裡寫圖片描述

在中間那一行出現了[“http-bio-8443”]這就是用來處理https安全連線的處理器的名字。8443代表的是在Connector中port指定的值,可以配置成其他的,生產環境中顯然是配置成預設的443埠。”http-bio-8443”中間的“bio”是因為我們上面配置的是org.apache.coyote.http11.Http11Protocol,它採用的就是bio的方式來處理網路連線請求。(最前面的“http”感覺輸出“https”比較合適一點)

此時通過https://codecrazy.cn:8443訪問tomcat還是沒有建立安全的連線,因為瀏覽器中並沒有安裝證書,https的原理以及如何通過CA認證等不在本文討論之列。本文采用的是一種叫做自簽名證書的方法。

第四步:通過keytool工具來從keystore中匯出證書來提供給瀏覽器使用

這裡寫圖片描述

-keysotre選項指定的就是之前用keytool生成的keystore檔案的路徑, -file選項指定的就是匯出證書的檔案路徑,具體如何使用請參見上文提供的使用keytool工具的連結。命令執行完之後就會在e:\sms\目錄下面生成一個tomcat.crt的檔案。

第五步:將該檔案匯入到瀏覽器中

不同的瀏覽器會有略有差別。對於chrome瀏覽器來說,在位址列輸入chrome://settings/進入設定介面,再點選最下面的“顯示高階設定”然後往下找到
這裡寫圖片描述

點選“管理證書”,*切換到如下圖紅框所示“受信任的根證書頒發機構”* tab頁

這裡寫圖片描述

點選匯入,再點選下一步,選擇“瀏覽”找到我們上面生成的tomcat.crt檔案,然後一路“下一步”,最後完成。
至此大功告成。輸入https://codecrazy.cn:8443即可建立https連線。效果如下所示:

這裡寫圖片描述

位址列https前面不再是紅叉了,而是變成了綠色的,說明已經建立了安全連線。整個過程中有任何疑問,歡迎留言討論。

以上觀點均是“實踐表明”,鑑於實踐的廣度和深度也許不足,不代表論述的正確性和權威性。如有不當之處,還望指正,謝謝!

您的關注是我不斷創作的動力源泉!期待認識更多的朋友,一起交流Java相關技術棧,共同進步!閱讀更多技術文章,可關注我的公眾號:codecrazy4j
這裡寫圖片描述

相關推薦

Tomcat如何配置Https訪問方式

前提條件:已經下載並安裝配置好Tomcat,訪問http://localhost:8080的時候會出現tomcat的介面。 第一步:配置hosts檔案 新增一行127.0.0.1 codecrazy.cn。這一步不是必要的,只是為了訪問的時候效果更好(逼

tomcat配置https訪問

一.  建立tomcat證書 使用JDK自帶的keytool工具來生成證書: 1. 開啟cmd,啟動keytool 2. 在命令列中輸入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "c:\tomcat.keys

Tomcat配置HTTPS訪問

使用者名稱輸入域名,如localhost(開發或測試用)或hostname.domainname(使用者擁有的域名),其它全部以 enter 跳過,最後確認,此時會在%TOMCAT_HOME%下生成server.keystore 檔案。

tomcat配置https方式訪問

web tomcat部署 rect serve led 字符 是你 eve tomcat 1.cmd 命令下,然後在jdk的bin的目錄下執行 keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.k

Tomcat8配置Https協議,Tomcat配置Https安全訪問Tomcat Https配置

Tomcat8配置Https協議,Tomcat配置Https安全訪問,Tomcat Https配置   ============================== ©Copyright 蕃薯耀 2017年11月06日 http://www.cnblogs.com

inux tomcat配置https以及http訪問https

https://blog.csdn.net/sanshipianyezi/article/details/72737391  參考該作者,補充你兩點1. 關於埠號的修改<Connector port="443" protocol="org.apache.coyote.h

Nginx配置Https訪問tomcat無法正確獲取schema的問題

Nginx配置Https訪問,反向代理tomcat,發現兩個問題: (1)redirect之後的schema全變成了http。 (2)request.getSchema()全部返回http。 server { listen 80 default_server

tomcat配置https訪問

tomcat配置https 1. 生成證書d:\>keytool -genkeypair -alias "tomcat2" -keyalg "RSA" -keystore "d:/home/tomcat2.keystore" 2. 加入證書server.xml &l

Tomcat配置https與http自動跳轉和tomcat單雙向SSL配置及IE訪問HTTPS下載檔案失敗

Tomcat配置https與http自動跳轉 https介紹:    HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標 的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SS

Tomcat配置https訪問http自動跳轉至https

以下文章本人配置成功,證明真實有效,故轉載分享給大家,希望對大家有幫助。 https介紹: HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全

eclipse下的tomcat配置https(最簡單得配置https

如果 希望 alias lib connector connect eclipse cnblogs itl 近期公司列出一大堆的東西,其中包括https,啥也不想說,你們是無法理解的苦逼的我的 關於https這些通道可以去百度Google其原理,不廢話,自動生成秘鑰,需要使

Nginx+Tomcat配置https

dir source blank location prefix targe tps suffix session Nginx + Tomcat 配置 HTTPS 1、總述 瀏覽器和 Nginx 之間走的 HTTPS 通訊,而 Nginx 到 Tomcat 通過 proxy

tomcat配置不用訪問工程名

ble div blog lin arc cal style tomcat color <Host name="localhost" appBase="/server/webapps" unpackWARs="true" autoDepl

tomcat 配置https

tls efi const prot jks serve eth direct als 修改tomcat/conf/server.xml <Connector port="80" protocol="HTTP/1.1" connecti

tomcat配置HTTPS

size auth collect data rst www. 協議 cat aop SSL協議使用不對稱加密技術實現雙方之間信息的安全傳遞。可以實現信息傳遞的保密性、完整性,並且會話雙方能鑒別對方身份。 與網站建立https連接時,瀏覽器與WEB SERVER之間要經過一

Nginx、Tomcat配置https

conn sch apache 分享 port led rtk test event 一、Nginx、Tomcat配置https   前提就是已經得到了CA機構頒發的證書 一、合並證書   1、假設證書文件如下   秘鑰文件server.key,證書CACert

NatApp開啟HTTPS訪問方式

eight http 分享圖片 bubuko ima src 免費 服務 tps 一、首先需要到付費隧道中選擇免費開啟https 二、其次需要重新啟動natapp服務,如下圖出現兩個隧道說明OK NatApp開啟HTTPS訪問方式

Linux下 nginx+tomcat配置https的總結和遇到的坑

master gcc apache ddr code style remote protocol lis 證書的獲取略 服務器的端口443確保外界網絡能夠進行訪問。 是否配置https: nginx:是 tomcat:否 1.首先查看nginx是否支持SSL。 參考鏈接:

tomcat配置https自簽名證書(keytool生成)

pri list tin led str orm unit lock pass tomcat配置https自簽名證書(keytool生成) 生成keystore keytool -genkeypair -alias "server" -keyalg &

nginx配置https訪問

添加 方式 客戶端瀏覽器 配置 匹配 能夠 編譯安裝 mail 們的 nginx配置https訪問一、https簡介HTTPS其實是有兩部分組成:HTTP + SSL/TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所