windows下用nginx配置https伺服器

清風白水發表於2018-11-28

1.安裝nginx

windows下用nginx配置https伺服器

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

windows下用nginx配置https伺服器

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

windows下用nginx配置https伺服器

2.安裝 OpenSSL

windows下用nginx配置https伺服器
在path變數後需要加入 %OPENSSL_HOME%

windows下用nginx配置https伺服器

3.生成https證書

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

效果如下:

windows下用nginx配置https伺服器
windows下用nginx配置https伺服器

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

windows下用nginx配置https伺服器
此時效果:

windows下用nginx配置https伺服器

  • 刪除密碼 複製 shidian.key 並重新命名 shidian.key.org

openssl rsa -in shidian.key.org -out shidian.key

windows下用nginx配置https伺服器

  • 生成crt證書

openssl x509 -req -days 365 -in shidian.csr -signkey shidian.key -out shidian.crt

windows下用nginx配置https伺服器

  • 最後生成證書如下

windows下用nginx配置https伺服器

修改 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_certificate      C://nginx//ssl//shidian.crt;  # 這個是證書的crt檔案所在目錄
	ssl_certificate_key  C://nginx//ssl//shidian.key;  # 這個是證書key檔案所在目錄

	ssl_session_cache    shared:SSL:1m;
	ssl_session_timeout  5m;

	ssl_ciphers  HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers  on;

 location / {
	proxy_set_header   X-Real-IP            $remote_addr;
	proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
	proxy_set_header   Host                   $http_host;
	proxy_set_header   X-NginX-Proxy    true;
	proxy_set_header   Connection "";
	proxy_http_version 1.1;
	proxy_pass         http://nodejs__upstream2;
 }
}
複製程式碼
  • 重啟nginx
nginx -s reload
複製程式碼
  • 訪問
輸入你配置好的域名即可訪問了
複製程式碼

相關文章