目錄
前提條件
步驟一:下載SSL證書
步驟二:在Nginx服務器安裝證書
步驟三:驗證SSL證書是否配置成功
前提條件
- 已通過數字證書管理服務控制臺簽發證書
- SSL證書綁定的域名已完成DNS解析,即您的域名與主機IP地址相互映射
- 已在Web服務器開放443端口(HTTPS通信的標準端口)
- 如果您使用的是阿里云ECS服務器,請確保已經在安全組規則入方向添加TCP 443端口
步驟一:下載SSL證書
- 1-下載服務器類型為Nginx的證書
- 2-解壓縮已下載的SSL證書壓縮包
- 根據您在提交證書申請時選擇的CSR生成方式,解壓縮獲得的文件不同
- 具體如下表所示:
-
CSR生成方式 證書壓縮包包含的文件 系統生成或選擇已有的CSR -
證書文件(PEM格式):Nginx支持安裝PEM格式的文件,PEM格式的證書文件是采用Base64編碼的文本文件,且包含完整證書鏈。解壓后,該文件以
證書ID_證書綁定域名
命名 -
私鑰文件(KEY格式):默認以證書綁定域名命名
手動填寫 -
如果您填寫的是通過數字證書管理服務控制臺創建的CSR,下載后包含的證書文件與系統生成的一致
-
如果您填寫的不是通過數字證書管理服務控制臺創建的CSR,下載后只包括證書文件(PEM格式),不包含證書密碼或私鑰文件。您可以通過證書工具,將證書文件和您持有的證書密碼或私鑰文件轉換成所需格式
-
步驟二:在Nginx服務器安裝證書
- 1-執行以下命令,在Nginx的conf目錄下創建一個用于存放證書的目錄
- 2-將證書文件和私鑰文件上傳到Nginx服務器的證書目錄(/usr/local/nginx/conf/cert)
- 您可以使用遠程登錄工具附帶的本地文件上傳功能,上傳文件
- 例如PuTTy、Termius、Xftp或WinSCP等
- 3-編輯Nginx配置文件nginx.conf,修改與證書相關的配置
- (1)執行以下命令,打開配置文件
- (2)在nginx.conf中定位到server屬性配置
- (3)刪除行首注釋符號#,并參考如下示例進行修改
- (4)可選:設置HTTP請求自動跳轉HTTPS
- 如果您希望所有的HTTP訪問自動跳轉到HTTPS頁面,可通過rewrite指令重定向到HTTPS
- 注意:以下代碼片段需要放置在nginx.conf文件中server {}代碼段后面,即設置HTTP請求自動跳轉HTTPS后,nginx.conf文件中會存在兩個server {}代碼段
- 配置效果如下圖所示:
- 4-執行以下命令,重啟Nginx服務
- 注意:
- 報錯the "ssl" parameter requires ngx_http_ssl_module:
- 您需要重新編譯Nginx并在編譯安裝的時候加上--with-http_ssl_module配置
- 報錯"/cert/3970497_demo.aliyundoc.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_demo.aliyundoc.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file):
- 您需要去掉證書相對路徑最前面的/
- 例如,您需要去掉/cert/cert-file-name.pem最前面的/,使用正確的相對路徑cert/cert-file-name.pem
步驟三:驗證SSL證書是否配置成功
- 證書安裝完成后,您可通過訪問證書的綁定域名驗證該證書是否安裝成功
- 如果網頁地址欄出現小鎖標志,表示證書已經安裝成功