1.安裝Openssl (下載地址:http://slproweb.com/products/Win32OpenSSL.html 或者百度雲盤:鏈接:https://pan.baidu.com/s/1nmX43twAL0PUn0wiCEekIw 提取碼:y4i8 )
安裝完成記得配置環境變量。
變量名:OPENSSL_HOME
變量值: openssl自定義的安裝目錄\bin;
(變量值為OPENSSL安裝位置下的bin目錄)
並在Path變量結尾添加一條: %OPENSSL_HOME%
環境變量配置操作:計算機-》右擊-》屬性-》打開的界面選擇 高級系統設置-》環境變量
【或者左下角搜索輸入:高級系統設置-》環境變量】
2. 生成證書
在phpstudy 安裝目錄下找到nginx文件夾 新建openssl目錄
打開cmd 進入到openssl目錄 依次執行以下操作
第一步:創建私鑰
在命令行中執行命令:
openssl genrsa -des3 -out google_test.key 1024
輸入密碼123456,再次重復輸入確認密碼。記住此密碼,后面會用到。
第二步:創建csr證書
在命令行中執行命令:
openssl req -new -key google_test.key -out google_test.csr
其中key文件為剛才生成的文件。
執行上述命令后,需要輸入一系列的信息。輸入的信息中最重要的為Common Name,這里輸入的域名即為我們要使用https訪問的域名 ,比如我輸入的是www.google.com。其它的內容隨便填即可。
以上步驟完成后,openssl文件夾內出現兩個文件:google_test.csr 和 google_test.key
第三步:去除密碼。
在加載SSL支持的Nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。
復制google_test.key並重命名為google_test.key.org。
在命令行中執行如下命令以去除口令:
openssl rsa -in google_test.key.org -out google_test.key
然后輸入密碼,這個密碼就是上文中在創建私鑰的時候輸入的密碼(123456)。
第四步:生成crt證書
在命令行中執行此命令:
openssl x509 -req -days 365 -in google_test.csr -signkey google_test.key -out google_test.crt
至此,證書生成完畢。我們發現,openssl文件夾中一共生成了4個文件。下面,配置https服務器的時候,我們需要用到的是其中的google_test.crt和google_test.key這兩個文件。
nginx 配置
添加到配置里:
listen 443 ssl http2;
ssl_certificate "E:\phpstudy_pro\Extensions\Nginx1.15.11\openssl\google_test.crt";
ssl_certificate_key "E:\phpstudy_pro\Extensions\Nginx1.15.11\openssl\google_test.key";
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
————————————————
原文鏈接:https://blog.csdn.net/qq_30169511/article/details/84655022