免費SSL證書實現https請求

前言

近期業務需要,進行小程序的開發,但是在小程序裏面請求必須要https才能正常請求數據,爲了方便測試,在騰訊雲SSL證書上申請了一個個人版的SSL證書進行測試;並在此記錄整個配置的過程。

證書申請

申請入口如下圖:
注意:由於是騰訊雲的產品,官網頁面也隨時都在升級調整,以下是我寫教程時的入口;你進去的時候可能看到的不是下面的樣子,自己翻一翻,找一找就可以了,對於鵝廠來說,這種免費的東西,幾乎是放在一個不起眼的角落,自己留意一下…

資料完善

進入以上入口需要完善個人資料並進行實名認證;如實填寫資料,next–>next–>finish即可

域名申請

按如下步驟一步步填寫完成

  • 第一步

  • 第二步
    填寫域名信息及申請人郵箱等資料

  • 第三步

  • 第四步
    將得到一下記錄值信息

域名證書申請驗證(二選一)

手動DNS配置方式(推薦)

  • 找到前一步中生成的記錄值,添加的域名解析中,如下圖中的文本信息:
  • 添加到如下圖中的域名解析中:
  • 添加完成之後刷新,如果出現下圖內容,說明域名解析配置成功:
  • 點擊下載按鈕,下載證書文件


    其中包含了4種容器的配置證書;

本地文件驗證(麻煩,不建議)

注意!!!! 如果已經按上面的手動DNS配置好了,請忽略這個步驟
如果你選擇的本地文件驗證,可以按這個步驟操作

  • 找到如下圖的記錄值:

  • 本地創建以下文件目錄、文件名及文件內容:

    文件目錄 文件名 文件內容
    /.well-known/pki-validation fileauth.txt 201708*****(根據自己實際的只填寫)

    注:window下創建.well-known文件夾時,會提示“請輸入文件名”的錯誤信息,無法創建,可以按如下方式創建,進入cmd下,進入要穿件文件夾的盤,輸入mkdir .well-known即可創建,如下圖:

  • 如果申請文件驗證的域名是 www.test.com,那麼進行驗證訪問的鏈接地址是 http://www.test.com/.well-known/pki-validation/fileauth.txt 或者 https://www.test.com/.well-known/pki-validation/fileauth.txt

  • 如果申請文件驗證的域名是泛域名 *.test.com,那麼進行驗證訪問的鏈接地址是 http://test.com/.well-known/pki-validation/fileauth.txt 或者 https://test.com/.well-known/pki-validation/fileauth.txt

  • 成功之後,文件結構如下:

  • nginx配置文件請求映射

    		location /.well-known/pki-validation/
    		{
    			root E:/本地文件地址/;
    		}
    

    如前端請求:https://www.test.com/.well-known/pki-validation/fileauth.txt之後,nginx會指向本地E:/本地文件地址/.well-known/pki-validation/fileauth.txt文件

證書配置

所有容器的證書的配置,可參考騰訊雲官網配置說明,本文以Nginx做配置演示說明:

  • 解壓下載的證書,找到nginx證書文件夾,可看見以下文件:

  • 將2個文件拷貝紙nginx下的conf文件夾,如下圖:

  • 修改ngnix的nginx.conf配置文件

    	server 
    	{
    			listen  443 ssl;
    			server_name www.test.com; #填寫綁定證書的域名
    			ssl on;
    			# 後面接的是證書詳細的路徑
    			ssl_certificate 1_www.test.com_bundle.crt;
    			ssl_certificate_key 2_www.test.com.key;
    			ssl_session_timeout 5m;
    			ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置
    			ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
    			ssl_prefer_server_ciphers on;
    			
    			location / {
       				 root   /usr/share/nginx/html;
       				 index  index.html index.htm;
    			}
    
    	 }
    
  • 在ng的http的節點配置DNS服務器的路徑

    resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s;
    


    如果沒有配置的話,NG無法對域名映射的IP進行解析!

    重啓nginx

測試

https測試

瀏覽器輸入:https://www.你的域名.com 能看見NG的主頁說明已經正常了

nginx如何將http請求轉成https

開發過程中,可能是中途才使用到https,之前一直是使用的http,如果按以上配置,配置了https之後,再發起http請求將無法正常的請求到;爲了兼容到之前的http服務,我們可在nginx下添加一個http的服務,然後將請求轉發到https即可,配置如下:

server 
{
	listen 80;
	server_name www.test.com;
	rewrite ^/(.*) https://$server_name/$1 permanent; #跳轉到Https
}

重啓nginx並測試:
瀏覽器輸入: http://www.你的域名.com 將會被轉發到: https://www.你的域名.com

總結

到這裏ssl的證書配置即完成。

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