您好,登錄后才能下訂單哦!
這篇文章主要介紹了Nginx如何配置SSL證書(shū)部署HTTPS網(wǎng)站,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
自行頒發(fā)不受瀏覽器信任的SSL證書(shū)
手動(dòng)頒發(fā)
xshell登錄服務(wù)器,使用openssl生成RSA密鑰及證書(shū)
# 生成一個(gè)RSA密鑰 $ openssl genrsa -des3 -out tfjybj.key 1024 # 拷貝一個(gè)不需要輸入密碼的密鑰文件 $ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key # 生成一個(gè)證書(shū)請(qǐng)求 $ openssl req -new -key tfjybj.key -out tfjybj.csr
這里會(huì)提示輸入省份、城市、域名等信息,email得是域名后綴。這樣就生成一個(gè)csr文件,提交給ssl提供商的時(shí)候就是這個(gè)csr文件。
(這里由于我沒(méi)有截圖,所以從網(wǎng)上找了一個(gè)圖片,需要替換的是下面的33iq,換成tfjybj)
中間輸入密碼的時(shí)候,沒(méi)有什么顯示,不過(guò)就那么輸入就好
# 自己簽發(fā)證書(shū) $ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt
把生成的證書(shū)放到nginx配置文件同級(jí)目錄;
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,則每次啟動(dòng)Nginx服務(wù)器都要求輸入key的密碼。 (開(kāi)始我不知道,納悶為啥啟動(dòng)nginx、關(guān)閉nginx都要輸入密碼) }
重啟Nginx
自己頒發(fā)的SSL證書(shū)能夠?qū)崿F(xiàn)加密傳輸功能,但瀏覽器并不信任,會(huì)給出提示:
通過(guò)第三方頒發(fā)證書(shū)–阿里云
頒發(fā)證書(shū)
登錄阿里云管理控制臺(tái),【云盾】菜單選擇【證書(shū)服務(wù)】,選擇購(gòu)買(mǎi)證書(shū);
我弄得免費(fèi)版的做的測(cè)試,申請(qǐng)之后,經(jīng)過(guò)一兩天的審核,然后就可以下載證書(shū)了。下載解壓后是兩個(gè)文件,一個(gè)key結(jié)尾,私鑰,一個(gè)是pem結(jié)尾,是公鑰;
配置nginx
文件說(shuō)明:
證書(shū)文件”申請(qǐng)的證書(shū)名字.pem”,包含兩段內(nèi)容,請(qǐng)不要?jiǎng)h除任何一段內(nèi)容。
如果是證書(shū)系統(tǒng)創(chuàng)建的CSR,還包含:證書(shū)私鑰文件”申請(qǐng)的證書(shū)名字.key”。
( 1 ) 在Nginx的安裝目錄下創(chuàng)建cert目錄,并且將下載的全部文件拷貝到cert目錄中。如果申請(qǐng)證書(shū)時(shí)是自己創(chuàng)建的CSR文件,請(qǐng)將對(duì)應(yīng)的私鑰文件放到cert目錄下并且命名為”申請(qǐng)的證書(shū)名字.key”;
( 2 ) 打開(kāi) 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開(kāi)頭的屬性與證書(shū)配置有直接關(guān)系,其它屬性請(qǐng)結(jié)合自己的實(shí)際情況復(fù)制或調(diào)整) :
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/申請(qǐng)的證書(shū)名字.pem; ssl_certificate_key cert/申請(qǐng)的證書(shū)名字.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 ) 通過(guò) https 方式訪問(wèn)您的站點(diǎn)
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Nginx如何配置SSL證書(shū)部署HTTPS網(wǎng)站”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。