Tomcat部署SSL證書過程中遇到的問題


在CentOS7中Tomcat部署SSL證書時遇到的問題

1.配置servlet.xml

配置tomcat/conf/server.xml 加入以下代碼

<Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="證書路徑"   
    keystoreType="PKCS12"
    keystorePass="這里寫密碼"   
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

 

tomcat非root用戶只能使用1024以上的端口,

對1024以下的端口進行設置會報以下錯誤,如443端口:(沒有權限)

Permission denied <null>:443

root用戶啟動tomcat有一個嚴重的問題,那就是tomcat具有root權限。

這意味着你的任何一個頁面腳本(html/js)都具有root權限,所以可以輕易地用頁面腳本 修改整個硬盤里的文件!

所以最好不要使用root啟動tomcat。

因為之前配置80端口時也遇到過,所以想到直接轉發端口

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443

這里有一個小坑 在配置證書pfx 地址的時候路徑一定要寫對,在conf/servlet.xml 的相對路徑下是tomcat的根路徑,

並不是conf(這個在tomcat啟動后發現無法訪問網站,看了日志以后才知道..)

密碼直接復制上去就可以了

2.http強轉https

在conf/web.xml下加入以下內容:

#在</welcome-file-list>后添加以下內容:
<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>

配置強轉以后,我發現訪問http 的時候給我轉發到8443端口上了,導致無法訪問https,http端口為如下配置

<Connector port="8080"
 protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 maxThreads="1000"
 minSpareThreads="20"
 acceptCount="1000"
 maxHttpHeaderSize="65536"
 debug="0"
 disableUploadTimeout="true"
 useBodyEncodingForURI="true"
 enableLookups="false"
 URIEncoding="UTF-8"/>

后來將redirectPort改成如下 就好了,應該就是重定向端口的意思(小白猜測)

 redirectPort="443"

3.重啟tomcat服務

千萬別忘了阿里雲的防火牆開啟443端口!!!

這個時候不要急,重啟后服務器還要編譯文件,可能要等個幾分鍾才能訪問你的網站.

 


免責聲明!

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



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