背景:
項目開發中用到了微信小程序,但是服務器配置URL必須是HTTPS,所以需要通過配置nginx的SSL模塊來支持HTTPS訪問,也就是說,要做一個網站域名為 dmsdbj.com 要求通過HTTPS://dmsdbj.com進行訪問.
SSL英文名為Secure Socket Layer,安全套接字層。SSL是一種數字證書,它使用ssl協議在瀏覽器和web server之間建立一條安全通道,數據信息在client與server之間的安全傳輸.
本篇博客是對這個操作步驟的詳解。
前提:
1. 配置SSL模塊首先需要CA證書,CA證書可以自己手動頒發也可以在阿里云申請,本人在阿里云上申請的證書。(手動頒發可參考文章底部鏈接)
2. 默認情況下ssl模塊并未被安裝,如果要使用該模塊則需要在編譯nginx時指定–with-http_ssl_module參數.
阿里云購買CA證書
操作步驟:
一、下載CA證書
1. 登錄阿里云,選擇“控制臺”-“產品與服務”,在“安全(云盾)”一欄中選擇“CA證書服務(數據安全)”。
2.在已經購買好的證書點擊“下載”,在新打開的頁面上選擇“Nginx/Tengine”,點擊“下載證書for Nginx”。
二、在Nginx配置文件中安裝證書
文件說明:1. 證書文件“證書名稱.pem‘',包含兩段內容,請不要刪除任何一段內容。2. 如果是證書系統創建的CSR,還包含:證書私鑰文件“證書名稱.key”。( 1 ) 在Nginx的配置文件所在的目錄下創建cert文件夾,并且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創建的CSR文件,請將對應的私鑰文件放到cert目錄下并且命名為“證書名稱.key”;
( 2 ) 打開 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,找到:
# HTTPS server# #server {# listen 443;# server_name localhost;# ssl on;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_timeout 5m;# ssl_protocols SSLv2 SSLv3 TLSv1;# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;# ssl_prefer_server_ciphers on;# location / {###}#}
( 3 ) 將其修改為 (以下屬性中ssl開頭的屬性與證書配置有直接關系,其它屬性請結合自己的實際情況復制或調整) :
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/證書名稱.pem; ssl_certificate_key cert/證書名稱.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; }}
新聞熱點
疑難解答