配置nginx實現https訪問
安裝nginx
在官網下載和系統匹配的nginx,解壓即可
安裝OpenSSL
若網站有https的證書跳過2、3、4步即可,若沒有證書則需要自己生成
由於代理https需要使用證書,這裡我們使用OpenSSL生成自簽名的證書,可以下載與系統相匹配的OpenSSL程式進行安裝,安裝過程一直下一步即可,下載地址
配置環境變數
- 新增環境變數
OPENSSL_HOME
,變數值為D:\OpenSSL-Win64
,指向OpenSSL的安裝路徑 - 新增環境變數
OPENSSL_CONF
,變數值為D:\OpenSSL-Win64\bin\openssl.cfg
,指向openssl.cfg檔案目錄 - 在環境變數path的末尾新增
%OPENSSL_HOME%\bin
生成證書
在nginx安裝目錄建立 ssl
資料夾,用於存放證書,如我的是 F:\nginx-1.16.1\ssl
,以管理員許可權執行cmd並進入建立的ssl目錄
建立私鑰
在命令列中執行命令 openssl genrsa -des3 -out demo.key 1024
,demo是私鑰檔名,可以自定義,此處需要輸入和驗證密碼,輸入的密碼請記住,後面會用到,這裡輸入的密碼是 123456
建立crs證書
在命令列中執行 openssl req -new -key demo.key -out demo.csr
,其中key檔案就是第一步生成的私鑰,demo為自定義的檔名,如下所示,這裡主要設定的是國家地區以及組織的一些資訊,其中最重要的是 Common Name
server_name
,完成所有步驟後,ssl資料夾中會生成demo.csr和demo.key兩個檔案去除密碼
在載入SSL支援的Nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。複製demo.key並重命名為demo.key.org。
在命令列中執行此命令:openssl rsa -in demo.key.org -out demo.key
如下圖所示,此命令需要輸入剛才設定的密碼。
生成crt證書
在命令列中執行此命令:openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt
證書生成完畢,我們在ssl資料夾中可以看到生辰的證書檔案,我們要用到的就是demo.crt和demo.key。
修改nginx配置
在nginx.conf配置檔案中新增一個如下server
server {
listen 443 ssl;
server_name www.demo.com;
ssl_certificate F:/nginx-1.16.1/ssl/demo.crt;
ssl_certificate_key F:/nginx-1.16.1/ssl/demo.key;
location / {
root html;
index index.html index.htm;
}
}
啟動nginx
正常啟動nginx後,使用 https://127.0.0.1:443 訪問,可以正常跳轉
本文來自部落格園,作者:風煙景,轉載請註明原文連結:https://www.cnblogs.com/wrxiang/p/15145252.html