Tomcat9配置https鏈接

Tomcat版本:apache-tomcat-9.0.27
jdk版本:1.8.0_212
瀏覽器:火狐

1. 生成證書

https協議需要證書,開發時我們可以使用jdk自帶的keytool工具生成一個證書來進行測試;

Tomcat9配置https鏈接

首先確保本地有jdk的環境,可以使用java -version來查看,然後運行以下代碼,姓氏名稱什麼的隨便填寫即可.

keytool -genkeypair -alias testKey -keyalg RSA -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -keystore ./testKey.jks
<!--
-alias testKey:證書項的名字,必填項
-keyalg RSA:證書籤名算法,tomcat建議RSA
-storepass 123456:密鑰庫密碼,也就是等下要生成的test.keystore的訪問密碼,妥善保管
-validity 3650:證書有效期,3650天,即10年
-keystore ./testKey.jks:要生成的文件的位置,./test.keystore表示存儲在當前目錄下
-->

Tomcat9配置https鏈接

然後我們可以看到有提示信息,運行提示信息裏面的代碼

Tomcat9配置https鏈接

keytool -importkeystore -srckeystore ./testKey.jks -destkeystore ./testKey.jks -deststoretype pkcs12

Tomcat9配置https鏈接

可以看到已經成功生成證書"testKey.jks"

Tomcat9配置https鏈接

2. 配置https連接器

2.1 將生成的testKey.jks密鑰庫文件拷貝到Tomcat服務器的conf目錄下

2.2 修改server.xml文件,配置https連接器

<!-- 註釋掉http連接器 -->
<!--
<Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
-->
<!-- 釋放https連接器 -->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                     maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
                <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                                         type="RSA" />
        </SSLHostConfig>
</Connector>

修改https連接器的端口號、祕鑰庫文件路徑,及配置祕鑰的口令(就是生成祕鑰文件時設置的口令)

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
                     maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
                <Certificate certificateKeystoreFile="conf/testKey.jks"
                     type="RSA" certificateKeystorePassword="123456" />
        </SSLHostConfig>
</Connector>

Tomcat9配置https鏈接

3. 測試

使用http訪問,我們看到是無法訪問成功的,返回了報錯信息

Tomcat9配置https鏈接

使用https訪問,因我們是自己生成的證書,因此瀏覽器給了提示信息,

Tomcat9配置https鏈接

我們無視即可,點擊高級-->接受風險繼續

Tomcat9配置https鏈接

可以看到我們通過https成功訪問了頁面

Tomcat9配置https鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章