HTTP訪問協議轉換成HTTPS

前言

最近打算寫一款小程序,然後去小程序開發平臺填寫request合法域名,發現只支持https協議

於是嘗試去把HTTP轉換成HTTPS,首先說一下我的配置:

  • 阿里雲服務器
  • 操作系統:CentOS 7.4 64位
  • Web服務器:Tomcat 9.+

詳解

主要分爲三個步驟:

  • 服務器配置域名,並備案
  • 購買SSL證書,下載證書
  • 上傳並配置到服務器上
1.服務器配置域名,並備案

小程序不支持添加IP地址,必須是合法域名 ,所以需要我們去給購買域名並備案 , 具體方法我就說了, 網上很多。

2.購買SSL證書並下載

騰訊雲,阿里雲等平臺有免費的證書,大家可以直接去申請一下
阿里雲地址:https://www.aliyun.com/product/cas

選擇免費的SSL證書,並綁定你的域名地址等待審覈就好了,審覈時間很快,成功後會提示你證書已簽發。
然後我們點擊下載:

選擇對應的服務器下載:

我下載的是Tomcat服務器證書,並解壓

裏面包含了PFX格式證書文件和TXT格式密碼文件, 需要注意的是每次下載都會有新的pfx-password ,是一一對應的。

3.上傳並配置到服務器上

tomcat服務器中新建cert文件夾,並上傳剛纔下載的證書

打開Tomcat/conf/server.xml,在server.xml文件中找到以下參數並進行修改
(1).

 <Connector port="80" protocol="HTTP/1.1"    #端口可更改
               connectionTimeout="20000"
               maxHttpHeaderSize="8192"
               redirectPort="443" /> #將redirectPort修改爲SSL默認端口443,讓HTTPS請求轉發到443端口。

(2).
找到一下參數:

    <Connector port="8443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="cert/keystore.pfx"
             certificateKeystorePassword="XXXXXXX"
                         certificateKeystoreType="PKCS12" />

把上面配置更改爲:

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxHttpHeaderSize="8192"
               URIEncoding="UTF-8"
         
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate 
            certificateKeystoreFile="/usr/local/apache-tomcat-9.0.22/cert/yourname.pfx"   #你的證書路徑
           certificateKeystorePassword="證書密碼"   #你的證書密碼 
           certificateKeystoreType="PKCS12" 
                          />
        </SSLHostConfig>
    </Connector>

主要添加你的證書路徑和證書密碼

(3).

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #將redirectPort修改爲443,讓HTTPS請求轉發到443端口。

(4).在server.xml文件最底部添加以下內容,實現HTTP自動跳轉爲HTTPS

<security-constraint> 
         <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就可以了

希望對大家有所幫助!

大家可以關注我的微信公衆號:「秦子帥」一個有質量、有態度的公衆號!

公衆號

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