windows下用nginx配置https伺服器
- 先到
nginx
官網下在nginx
ofollow,noindex">nginx.org/en/download…

- 將下載好的檔案解壓出來修改檔名為 nginx ,然後拷貝到C盤下,目錄如下:

- 執行 nginx
start nginx 複製程式碼
- 驗證
在瀏覽器中輸入 localhost 訪問即可,如出現以下頁面,即安裝成功 複製程式碼

2.安裝 OpenSSL
-
下載OpenSSL slproweb.com/products/Wi…
-
下載完成安裝到
C:\OpenSSL-Win64
-
配置環境變數

%OPENSSL_HOME%

3.生成https證書
- 在C:\nginx下建立ssl資料夾 用於存放證書
- 建立私鑰 (建議使用系統視窗,不要用gitBash 有涉及到選擇的地方,gitBash無法選擇)
openssl genrsa -des3 -out shidian.key 1024 //shidian 自己取的名字 複製程式碼
效果如下:


- 建立 csr 證書
openssl req -new -key shidian.key -out shidian.csr 複製程式碼

此時效果:

- 刪除密碼 複製
shidian.key
並重命名shidian.key.org
openssl rsa -in shidian.key.org -out shidian.key

- 生成crt證書
openssl x509 -req -days 365 -in shidian.csr -signkey shidian.key -out shidian.crt

- 最後生成證書如下

修改 nginx 下的 nginx.conf配置檔案
C:\nginx\conf\nginx.conf 複製程式碼
upstream nodejs__upstream2 { server 127.0.0.1:8080; # 需要監聽的埠名 我用的 keepalive 64; } server { listen 443 ssl; server_name dev.kt.looklook.cn; # 配置的https的域名 ssl_certificateC://nginx//ssl//shidian.crt;# 這個是證書的crt檔案所在目錄 ssl_certificate_keyC://nginx//ssl//shidian.key;# 這個是證書key檔案所在目錄 ssl_session_cacheshared:SSL:1m; ssl_session_timeout5m; ssl_ciphersHIGH:!aNULL:!MD5; ssl_prefer_server_cipherson; location / { proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; proxy_set_headerHost$http_host; proxy_set_headerX-NginX-Proxytrue; proxy_set_headerConnection ""; proxy_http_version 1.1; proxy_passhttp://nodejs__upstream2; } } 複製程式碼
- 重啟nginx
nginx -s reload 複製程式碼
- 訪問
輸入你配置好的域名即可訪問了 複製程式碼