Nginx怎么配置SSL證書部署HTTPS網(wǎng)站

自行頒發(fā)不受瀏覽器信任的ssl證書

手動頒發(fā)

xshell登錄服務(wù)器,使用openssl生成rsa密鑰及證書

#?生成一個rsa密鑰? $?openssl?genrsa?-des3?-out?tfjybj.key?1024  #?拷貝一個不需要輸入密碼的密鑰文件 $?openssl?rsa?-in?dmsdbj.key?-out?tfjybj_nopass.key  #?生成一個證書請求 $?openssl?req?-new?-key?tfjybj.key?-out?tfjybj.csr

?這里會提示輸入省份、城市、域名等信息,email得是域名后綴。這樣就生成一個csr文件,提交給ssl提供商的時候就是這個csr文件。

?(這里由于我沒有截圖,所以從網(wǎng)上找了一個圖片,需要替換的是下面的33iq,換成tfjybj)

中間輸入密碼的時候,沒有什么顯示,不過就那么輸入就好

Nginx怎么配置SSL證書部署HTTPS網(wǎng)站

#?自己簽發(fā)證書 $?openssl?x509?-req?-days?365?-in?tfjybj.csr?-signkey?tfjybj.key?-out?tfjybj.crt

把生成的證書放到nginx配置文件同級目錄;

nginx配置

編輯nginx配置文件 nginx.conf,加https協(xié)議

server?{ ??server_name?tfjybj.com; ??listen?443; ??ssl?on; ??ssl_certificate?/usr/local/nginx/conf/tfjybj.crt; ??ssl_certificate_key?/usr/local/nginx/conf/tfjybj_nopass.key; ??#?若ssl_certificate_key使用tfjybj.key,則每次啟動nginx服務(wù)器都要求輸入key的密碼。 ??(開始我不知道,納悶為啥啟動nginx、關(guān)閉nginx都要輸入密碼) }

重啟nginx

自己頒發(fā)的ssl證書能夠?qū)崿F(xiàn)加密傳輸功能,但瀏覽器并不信任,會給出提示:

Nginx怎么配置SSL證書部署HTTPS網(wǎng)站

通過第三方頒發(fā)證書–阿里云

頒發(fā)證書

登錄阿里云管理控制臺,【云盾】菜單選擇【證書服務(wù)】,選擇購買證書;

我弄得免費版的做的測試,申請之后,經(jīng)過一兩天的審核,然后就可以下載證書了。下載解壓后是兩個文件,一個key結(jié)尾,私鑰,一個是pem結(jié)尾,是公鑰;

配置nginx

文件說明:

證書文件”申請的證書名字.pem”,包含兩段內(nèi)容,請不要刪除任何一段內(nèi)容。

如果是證書系統(tǒng)創(chuàng)建的csr,還包含:證書私鑰文件”申請的證書名字.key”。

( 1 ) 在nginx的安裝目錄下創(chuàng)建cert目錄,并且將下載的全部文件拷貝到cert目錄中。如果申請證書時是自己創(chuàng)建的csr文件,請將對應(yīng)的私鑰文件放到cert目錄下并且命名為”申請的證書名字.key”;

( 2 ) 打開 nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,找到:

#?https?server #?#server?{ #?listen?443; #?server_name?localhost; #?ssl?on; #?ssl_certificate?cert.pem; #?ssl_certificate_key?cert.key; #?ssl_session_timeout?5m; #?ssl_protocols?sslv2?sslv3?tlsv1; #?ssl_ciphers?all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp; #?ssl_prefer_server_ciphers?on; #?location?/?{ # # #} #}

( 3 ) 將其修改為 (以下屬性中ssl開頭的屬性與證書配置有直接關(guān)系,其它屬性請結(jié)合自己的實際情況復(fù)制或調(diào)整) :

server?{? listen?443;? server_name?localhost;? ssl?on;? root?html;? index?index.html?index.htm;? ssl_certificate?cert/申請的證書名字.pem;? ssl_certificate_key?cert/申請的證書名字.key;? ssl_session_timeout?5m;? ssl_ciphers?ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4;? ssl_protocols?tlsv1?tlsv1.1?tlsv1.2;? ssl_prefer_server_ciphers?on;? location?/?{? root?html;? index?index.html?index.htm;? }? }

保存退出。

( 4 )重啟 nginx。

( 5 ) 通過 https 方式訪問您的站點

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊12 分享