windwos下Nginx配置https
阿新 • • 發佈:2018-12-10
Windwos下配置https
1. 安裝Openssl
下載地址:http://slproweb.com/products/Win32OpenSSL.html (根據系統選擇32位或者64位版本下載安裝)。
我安裝在C:\wnmp\OpenSSL-Win64
2. 配置環境變數
在環境變數中新增環境變數
變數名: OPENSSL_HOME 變數值:C:\wnmp\OpenSSL-Win64\bin; (變數值為openssl安裝位置)
在path變數結尾新增如下 : %OPENSSL_HOME%;
3.下載Nginx並解壓
我的目錄在C:\Users\Admin\Desktop\nginx\nginx
3. 生成證書
(1) 首先在 nginx安裝目錄中建立ssl資料夾用於存放證書。比如我的檔案目錄為 C:\Users\Admin\Desktop\nginx\nginx\ssl
以管理員身份進入命令列模式,進入ssl資料夾。 命令為: cd C:\Users\Admin\Desktop\nginx\nginx\ssl
(2) 建立私鑰
在命令列中執行命令: openssl genrsa -des3 -out lee.key 1024 (lee檔名可以自定義)
輸入密碼後,再次重複輸入確認密碼。記住此密碼,後面會用到。
(3)建立csr證書
在命令列中執行命令: openssl req -new -key lee.key -out lee.csr (key檔案為剛才生成的檔案,lee為自定義檔名)
執行上述命令後,需要輸入資訊。輸入的資訊中最重要的為 Common Name,這裡輸入的域名即為我們要使用https訪問的域名 我輸入的是localhost
以上步驟完成後,ssl資料夾內出現兩個檔案 lee.csr lee.key
(4)去除密碼。
在載入SSL支援的Nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。
複製lee.key並重命名為lee.key.org
去除口令,在命令列中執行此命令: openssl rsa -in lee.key.org -out lee.key (lee為自定義檔名) 然後輸入密碼
(5)生成crt證書
在命令列中執行此命令: openssl x509 -req -days 365 -in lee.csr -signkey lee.key -out lee.crt (lee為自定義檔名)
證書生成完畢,ssl資料夾中一共生成如下4個檔案,我們需要使用到的是lee.crt和lee.key。
4.修改Nginx的nginx.conf檔案 我的在C:\Users\Admin\Desktop\nginx\nginx\conf\nginx.conf
把前面的#去掉 然後修改
server {
listen 443 ssl;
server_name localhost;
ssl_certificate C://Users//Admin//Desktop//nginx//nginx//ssl//lee.crt; //這個是證書的crt檔案所在目錄
ssl_certificate_key C://Users//Admin//Desktop//nginx//nginx//ssl//lee.key; //這個是證書key檔案所在目錄
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root C://Users//Admin//Desktop//artbag-1-5//artbag-1-5; //這個是指定一個專案所在目錄 靜態頁面也可以
index index.html index.htm; //這個是指定首頁的檔案 一般靜態頁面 預設的都是index.html
}
}
1. 安裝Openssl
下載地址:http://slproweb.com/products/Win32OpenSSL.html (根據系統選擇32位或者64位版本下載安裝)。
我安裝在C:\wnmp\OpenSSL-Win64
2. 配置環境變數
在環境變數中新增環境變數
變數名: OPENSSL_HOME 變數值:C:\wnmp\OpenSSL-Win64\bin; (變數值為openssl安裝位置)
在path變數結尾新增如下 : %OPENSSL_HOME%;
3.下載Nginx並解壓
我的目錄在C:\Users\Admin\Desktop\nginx\nginx
3. 生成證書
(1) 首先在 nginx安裝目錄中建立ssl資料夾用於存放證書。比如我的檔案目錄為 C:\Users\Admin\Desktop\nginx\nginx\ssl
以管理員身份進入命令列模式,進入ssl資料夾。 命令為: cd C:\Users\Admin\Desktop\nginx\nginx\ssl
(2) 建立私鑰
在命令列中執行命令: openssl genrsa -des3 -out lee.key 1024 (lee檔名可以自定義)
(3)建立csr證書
在命令列中執行命令: openssl req -new -key lee.key -out lee.csr (key檔案為剛才生成的檔案,lee為自定義檔名)
執行上述命令後,需要輸入資訊。輸入的資訊中最重要的為 Common Name,這裡輸入的域名即為我們要使用https訪問的域名 我輸入的是localhost
以上步驟完成後,ssl資料夾內出現兩個檔案 lee.csr lee.key
(4)去除密碼。
在載入SSL支援的Nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。
複製lee.key並重命名為lee.key.org
去除口令,在命令列中執行此命令: openssl rsa -in lee.key.org -out lee.key (lee為自定義檔名) 然後輸入密碼
(5)生成crt證書
在命令列中執行此命令: openssl x509 -req -days 365 -in lee.csr -signkey lee.key -out lee.crt (lee為自定義檔名)
4.修改Nginx的nginx.conf檔案 我的在C:\Users\Admin\Desktop\nginx\nginx\conf\nginx.conf
把前面的#去掉 然後修改
server {
listen 443 ssl;
server_name localhost;
ssl_certificate C://Users//Admin//Desktop//nginx//nginx//ssl//lee.crt; //這個是證書的crt檔案所在目錄
ssl_certificate_key C://Users//Admin//Desktop//nginx//nginx//ssl//lee.key; //這個是證書key檔案所在目錄
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root C://Users//Admin//Desktop//artbag-1-5//artbag-1-5; //這個是指定一個專案所在目錄 靜態頁面也可以
index index.html index.htm; //這個是指定首頁的檔案 一般靜態頁面 預設的都是index.html
}
}