tomcat之https配置(生成證書)


tomcat之https配置(生成證書)

升級https需要購買SSL證書之類的,但是在公司開發環境下沒有自己的域名,所以只能在本地使用java的Keytool命令生成一個。

生成ssl證書

1. 管理員打開cmd窗口,輸入

keytool -genkey -alias tomcat -keyalg RSA -keystore Z:\WorkSpace\Plugins\Tomcat\ssl\tomcat.keystore -validity 36500
keytool 是jdk中的工具,位置在D:\tools\jdk\bin中。若未配置環境變量,可在bin文件夾中啟動cmd,運行該代碼。

“Z:\WorkSpace\Plugins\Tomcat\ssl\tomcat.keystore” 含義是證書文件保存位置,證書文件名稱是tomcat.keystore ;

“-validity 36500” 含義是證書有效期,36500表示100年,默認值是90天。

2. 輸入密鑰庫口令

輸入密鑰庫密碼:此處需要輸入大於6個字符的字符串,例如abc123

3. 輸入兩次通過后,彈出以下問題:

"您的名字與姓氏是什么?" 這是必填項,並且必須是TOMCAT部署主機的域名或者IP [如:baidu.com 或者 127.0.0.1],就是你將來要在瀏覽器中輸入的訪問地址;

其他得問題可填可不填,最后對照信息正確則輸入y,不正確打算重來則輸入n。

4. 輸入密鑰口令

密鑰庫口令,這里我理解的是tomcat的主密碼,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以生成完成,可在指定目錄下找到證書文件。

配置tomcat

1. 修改server.xml

a. 打開tomcat目錄下conf/server.xml文件,修改如下

<Connector port="443"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    SSLEnabled="true"
    maxThreads="800"
    scheme="https"
    secure="true"
    clientAuth="false"
    sslProtocol="TLS"
    keystoreFile="D:/tools/tomcat-8.0/ssl/tomcat.keystore"
    keystorePass="123456"/>

在這里我是新增加了443的Connector,也可以取消8443的Connector,增加“keystoreFile”和“keystorePass”。

其中keystoreFile是證書存放的路徑,keystorePass為生成證書時輸入的密碼。

b. 修改需要重定向的端口,我這里用的是8080。

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="200000"
               redirectPort="443"
               URIEncoding="utf-8"
                compression="on"              
                compressionMinSize="1024"
                maxPostSize="-1"
                disableUploadTimeout="false"
               />

例子:

 

 

2. 修改web.xml

a. 打開conf/web.xml

在最后增加以下代碼:

<login-config>
        <!-- Authorization setting for SSL -->
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <security-constraint>
        <!-- Authorization setting for SSL -->
        <web-resource-collection>
            <web-resource-name>SSL</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

至此tomcat配置完成,啟動tomcat即可使用ssl,在瀏覽器輸入localhost:8080

Tomcat配置完成后,使用Https訪問,Chrome會提示安全警告,點擊“高級”,繼續訪問即可,之后再https下使用ip地址訪問是沒有問題的。

 

注意:若端口443被占用頁面會出現403報錯,可改為8443測試

注意:tomcat無法配置代理,可在前端寫死路徑訪問后端,但建議需要代理使用nginx

 

 

參考自:https://blog.csdn.net/qq_31832209/article/details/111309586     @強

鑽研不易,轉載請注明出處。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM