Nginx 域名SSL證書配置(網(wǎng)站 http 升級(jí)為 https)
前言
HTTP 和 HTTPS
我們?nèi)粘I钪校R姷木W(wǎng)址大致分為2種:
一種是基于 http 協(xié)議,如:http://www.baidu.com
一種是基于 https 協(xié)議,如:https://www.baidu.com
現(xiàn)在很多網(wǎng)站出于安全的考慮,會(huì)把網(wǎng)站的域名訪問從 http 已經(jīng)升級(jí)為 https,如果你不知道 http 和 https 的概念,不妨先看看下面這篇文章:HTTP和HTTPS有什么不同
SSL 證書
那么我們?nèi)绾螌?http 升級(jí)為 https 呢?
我們要升級(jí) http 為 https,首先需要一個(gè) SSL 證書。 SSL 你可以想象為本科畢業(yè)證,有個(gè)這個(gè)本科畢業(yè)證,就能證明你是本科生,就都能去申請(qǐng)本科生門檻的招聘。當(dāng)然,證書可以由不同院校頒發(fā),比如清華本科畢業(yè)證和普通三本院校的本科畢業(yè)證,這兩者的含金量肯定是有不同的。SSL證書也一樣,也有不同發(fā)簽發(fā)機(jī)構(gòu)。
配置方式
當(dāng)有了域名和SSL證書后,我們就可以將域名網(wǎng)址升級(jí)為 https 了,我們常用的做法是在 Nginx 中配置域名的 SSL 證書。
具體過程
開始訪問
(1)下面我以自己的網(wǎng)站,配置我的個(gè)人網(wǎng)站 SSL 證書,將我的網(wǎng)站升級(jí)為SSL。
我訪問自己網(wǎng)站下的一張圖片( http://www.zyqok.cn/fj.jpg ),這是一個(gè) http 訪問。

(2)然后我們改為 https 訪問,發(fā)現(xiàn)是訪問不了的。

下面我們正式開始,將網(wǎng)站改為 https 的請(qǐng)求訪問。
服務(wù)器安裝Nginx
首先,我們需要在服務(wù)器上安裝 Nginx 環(huán)境,如果你服務(wù)器已經(jīng)有Nginx了,那么這一步可以跳過,如果未安裝Nginx,不妨參照
獲取 SSL 證書
由于我服務(wù)器是阿里云買的,所以阿里會(huì)送幾個(gè)免費(fèi)的SSL證書,下面以阿里云的獲取 SSL 證書過程進(jìn)行說明。
如果你不是阿里云客戶,那么這一步可以跳過,然后自行百度 “SSL證書” 到相關(guān)廠商購買,或者百度 “免費(fèi)SSL證書” 。
(1)登錄阿里云,然后找到 【SSL證書】一欄,點(diǎn)擊( 因?yàn)槲乙呀?jīng)開通過了該功能,所以你的位置可能和我的位置不一樣,自己去面板找 )。

(2)來到這個(gè)面板后,點(diǎn)擊【購買證書】。

(3)選擇免費(fèi)型,然后購買

(4)當(dāng)你完成購買后,就會(huì)在頁面出現(xiàn)一條對(duì)應(yīng)記錄,然后點(diǎn)擊【證書申請(qǐng)】。

(5)然后寫好你需要升級(jí)的域名,比如我要把我的個(gè)人網(wǎng)站 http://www.zyqok.cn 升級(jí)為 https://www.zyqok.cn
那么此時(shí)的域名就填 zyqok.cn,然后填寫好其他信息,點(diǎn)擊下一步,然后這個(gè)證書就會(huì)向上面提交,進(jìn)入審核狀態(tài)。

(6)當(dāng)你的申請(qǐng)通過之后,你就可以下載你的SSL證書了,我們點(diǎn)擊右下角【下載】

(7)繼續(xù)選擇 Nginx 后面的【下載】

(8)下載完成后,我們就可以得到一個(gè)SSL證書的壓縮包

上傳SSL證書到服務(wù)器
(1)我們先將證書壓縮包解壓,然后可以得到如下兩個(gè)文件。

(2)我們將這兩個(gè)文件通過 FTP 工具,上傳到服務(wù)器上,并放在 Nginx 配置文件所在的同級(jí)目錄下。

修改配置并重啟
(1)打開你的 Nginx.conf 配置文件,然后將你的443和80端口的 server 信息配置如下:
更多詳細(xì)步驟可以查看阿里云的文檔:Nginx/Tengine服務(wù)器安裝SSL證書
# 直接訪問 https
server
{
charset utf8;
listen 443;
root /opt/local;
server_name www.zyqok.cn;
ssl on;
ssl_certificate 3067072_zyqok.cn.pem;
ssl_certificate_key 3067072_zyqok.cn.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;
}
# http 跳轉(zhuǎn) https
server
{
listen 80;
server_name zyqok.cn;
rewrite ^/(.*) https://www.zyqok.cn permanent;
}
(2)注意藍(lán)色方框的內(nèi)容是你的域名和 SSL 證書相關(guān)文件。

(3)然后重啟你的 Nginx 服務(wù)
進(jìn)入nginx 的 sbin 目錄下,輸入下面命令,重啟 nginx 服務(wù)
./nginx -s reload

(4)如果是阿里云的服務(wù)器,別忘了開放 80 端口和 443 端口,不然訪問不了
不會(huì)配置的可以參考這篇文章:阿里云安全規(guī)則配置

再次訪問
(1)直接 https 進(jìn)行訪問(443端口),可以看到是OK的

(2)然后 http 訪問(80端口),他會(huì)自動(dòng)跳轉(zhuǎn)到 https,也是OK的。

至此,你已經(jīng)學(xué)會(huì)了 SSL 證書配置!謝謝閱讀!
相關(guān)文章
Nginx rewrite跳轉(zhuǎn)應(yīng)用場(chǎng)景詳解
這篇文章主要介紹了Nginx rewrite跳轉(zhuǎn)應(yīng)用場(chǎng)景詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Nginx開啟一個(gè)參數(shù)就能讓你的WEB性能提升3倍的方法
這篇文章主要介紹了Nginx開啟一個(gè)參數(shù)就能讓你的WEB性能提升3倍的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03

