如何用 nginx 配置 https 加密訪問?
時間:2023-02-18 03:52:01 | 來源:建站知識
時間:2023-02-18 03:52:01 來源:建站知識
閱讀本文你可以了解
- DV、OV、EV證書的區(qū)別。
- 免費證書和付費證書的區(qū)別。
- 單域名證書、多域名證書、通配符證書的區(qū)別。
- 如何在阿里云購買證書。
- 如何給用Nginx讓網(wǎng)站支持https。
- 一些踩坑記錄。
簡介
讓網(wǎng)站支持https,需要ca證書。證書包括了公鑰和私鑰。通常web服務(wù)器只要指定證書地址,就可以正常工作了,web服務(wù)器會根據(jù)證書中提供的公鑰私鑰進行ssl或者tsl通信,并向瀏覽器提供證書內(nèi)容以表明身份。
按照驗證等級不同劃分:域名型DV SSL證書(Domain Validation)、企業(yè)型OV(Organization Validation) SSL證書、增強型EV(Extended Validation) SSL證書。
簡單地說,DV、OV、EV證書的安全等級是遞增的,DV安全等級最低,它只支持驗證域名所有權(quán),即瀏覽器能夠確定你的證書屬于這個域名,但沒有企業(yè)組織的驗證,OV、EV的安全性更高一些?,F(xiàn)在大部分企業(yè)都使用安全等級最高的EV證書。
DV、OV、EV證書的簽發(fā)時間則和安全性成反比,DV可能在申請后幾分鐘就可以簽發(fā),而OV和EV由于證書頒發(fā)方需要對企業(yè)的材料審查,所以需要幾天時間。
免費的證書都是DV證書,由于安全等級低,一般只推薦用于測試環(huán)境。
https://blog.csdn.net/WoTrusCA/article/details/116987862從證書對域名生效規(guī)則角度,可以分為單個域名的證書、多域名證書、通配符證書。它們有什么區(qū)別呢?
單個域名證書,一個證書只能指定一個域名
多域名證書,一個證書可以指定多個域名
通配符證書,可以指定二級域名,這個證書對二級域名下的所有子域名都生效
例如單域名證書只能指定
www.lingtiku.com
;多域名證書可以指定
www.lingtiku.com
、
m.lingtiku.com
;通配符證書可以指定
*.lingtiku.com
,不管子域名是什么證書都有效。
下面我們看一個購買并部署證書的示例,在阿里云購買免費的DV,單域名證書,然后部署到ECS上的Nginx網(wǎng)站上。
購買證書
首先,在阿里云官網(wǎng)搜索“SSL證書”,購買,選擇免費證書。購買后有20個單域名DV證書的額度,意味著你可以申請20個單域名。
然后在管理后臺的SSL證書中,創(chuàng)建證書,通常幾分鐘就會頒發(fā)。
這樣我們就獲得了指定域名的證書了。
證書安裝
阿里的官方文檔有非常詳細的說明
https://help.aliyun.com/document_detail/109827.html先下載nginx的證書,包含兩個文件一個.pem,一個key
下載好后,把證書上傳到服務(wù)器,在Nginx的配置目錄中創(chuàng)建一個
cert
目錄(我這里目錄是
/www/server/nginx/conf/cert
),然后把證書文件放到里面。
接下來配置Nginx,監(jiān)聽443端口,并指定證書文件位置。
server { listen 443 ssl; server_name www.lingtiku.com; ssl_certificate cert/7558137_www.lingtiku.com.pem; ssl_certificate_key cert/7558137_www.lingtiku.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on;}
我們還可以指定http的訪問自動跳轉(zhuǎn)到https
server { listen 80; server_name www.lingtiku.com; rewrite ^(.*) https://$server_name$1 permanent;}
注意事項
如果配置好后瀏覽器仍不能訪問,可能是服務(wù)器沒有放開443端口,阿里云的ESC的安全組中需要放開443端口。
還有其他可能攔截端口的應(yīng)用,也要放開,比如使用寶塔的話,默認攔截443端口,在“安全”一欄中設(shè)置放行443端口。
關(guān)注「靈題庫」,更多技術(shù)干貨!