windows下openssl安裝,證書生成,nginx配置https以及http重定向https
1.下載openssl
http://slproweb.com/download/Win64OpenSSL-1_1_1k.exe
2.解壓後環境配置
複製安裝bin目錄,編輯環境變數path,放入複製的bin目錄,點選確認;
3.驗證環境變數是否配置ok,win+r,輸入cmd,然後輸入下面的指令:openssl version,可以檢視到版本說明安裝ok
4.證書的生成
4.1. 新建一個資料夾,cmd進入操作檯
4.2建立伺服器私鑰,自己選擇輸入一個密碼,然後確認密碼
命令:openssl genrsa -des3 -out server.key 2048
4.3建立CSR證書請求檔案,輸入剛剛的密碼,然後按提示填寫基本資訊
命令:openssl req -new -key server.key -out server.csr
4.4備份有祕密的私鑰檔案
命令:copy server.key server.key.orig
4.5去掉私鑰檔案的密碼,要輸入之前你的密碼確認
命令:openssl rsa -in server.key -out server.key
4.6使用伺服器私鑰簽署伺服器公鑰證書
命令:openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
4.7在之前新建的目錄下會出現以下檔案
5.配置nginx,在nginx安裝目錄下的con資料夾下找到並開啟nginx.conf檔案
5.1配置https,找到# HTTPS server,取消server {}下的註釋,並填寫以下資訊
ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;
5.2 重定向,輸入http自動轉到htps,找到# another virtual host using mix of IP-, name-, and port-based configuration,取消server {}下的註釋,並填寫以下資訊
server { listen 80; server_name localhost; rewrite ^(.*) https://$server_name$1 permanent; location / { root html; index index.html index.htm; } }
6.0 重啟nginx
分別輸入:localhost 和 https:localhost 發現頁面都是一樣,顯示不安全是因為自簽證書,瀏覽器不信任