Nginx設(shè)置HTTPS的方法步驟
背景
HTTP
超文本傳輸協(xié)議,是一個(gè)基于請(qǐng)求與響應(yīng),無(wú)狀態(tài)的,應(yīng)用層的協(xié)議,?;赥CP/IP協(xié)議傳輸數(shù)據(jù),互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有的WWW文件都必須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì)HTTP的初衷是為了提供一種發(fā)布和接收HTML頁(yè)面的方法。
優(yōu)點(diǎn)
- 支持客戶/服務(wù)器模式
- 簡(jiǎn)單快速:服務(wù)器當(dāng)客戶端請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑
- 靈活: HTTP 允許任何類型的數(shù)據(jù)對(duì)象的傳輸
- 無(wú)連接:限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開(kāi)連接。采用這種方式可以節(jié)省傳輸時(shí)間。
- 無(wú)狀態(tài):協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力,服務(wù)器不知道客戶端是什么狀態(tài)。我們給服務(wù)器發(fā)送 HTTP 請(qǐng)求之后,服務(wù)器根據(jù)請(qǐng)求,會(huì)給我們發(fā)送數(shù)據(jù)過(guò)來(lái),但是,發(fā)送完,不會(huì)記錄任何信息。HTTP 是一個(gè)無(wú)狀態(tài)協(xié)議,這意味著每個(gè)請(qǐng)求都是獨(dú)立的,Keep-Alive 沒(méi)能改變這個(gè)結(jié)果。
缺點(diǎn)
- HTTP協(xié)議傳輸數(shù)據(jù),都是通過(guò)明文的方式在互聯(lián)網(wǎng)上傳遞(如賬號(hào)、密碼、身份信息、瀏覽器記錄和交易記錄)
- 任何人都可以輕松攔截、竊取或篡改數(shù)據(jù),可能造成你的隱私數(shù)據(jù)泄露(中間人攻擊)
HTTPS
HTTPS (全稱:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全為目標(biāo)的 HTTP 通道,在HTTP的基礎(chǔ)上通過(guò)傳輸加密和身份認(rèn)證保證了傳輸過(guò)程的安全性 [1] 。HTTPS 在HTTP 的基礎(chǔ)下加入SSL,HTTPS 的安全基礎(chǔ)是 SSL,因此加密的詳細(xì)內(nèi)容就需要 SSL。 HTTPS 存在不同于 HTTP 的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在 HTTP與 TCP 之間)。這個(gè)系統(tǒng)提供了身份驗(yàn)證與加密通訊方法。它被廣泛用于萬(wàn)維網(wǎng)上安全敏感的通訊,例如交易支付等方面 。
原理圖如下:

簡(jiǎn)單來(lái)說(shuō),https是在http的基礎(chǔ)上添加了證書(shū)來(lái)驗(yàn)證安全性,客戶端拿到了https的證書(shū)會(huì)向證書(shū)服務(wù)器去驗(yàn)證證書(shū)的真?zhèn)?,這樣就可避免中間人攻擊。在向證書(shū)服務(wù)器驗(yàn)證證書(shū)后,客戶端就能拿到服務(wù)器的公鑰,同時(shí)客戶端也會(huì)生成這次自己的私鑰和公鑰,在請(qǐng)求傳輸?shù)倪^(guò)程中會(huì)使用服務(wù)器公鑰將數(shù)據(jù)和客戶端公鑰進(jìn)行加密,這種加密是非對(duì)稱加密的(很難破解),服務(wù)器擁有私鑰可以將數(shù)據(jù)進(jìn)行解密。服務(wù)器返回?cái)?shù)據(jù)時(shí)會(huì)使用客戶端的公鑰進(jìn)行加密,這樣只有客戶端才能使用私鑰解密數(shù)據(jù)。這個(gè)過(guò)程是安全的。
配置過(guò)程
這里我使用的是nginx服務(wù)器配置域名htpps(配置SSL證書(shū))
域名證書(shū)申請(qǐng)
我是使用騰訊云購(gòu)買的域名:sunbt.ltd
國(guó)內(nèi)服務(wù)器使用域名時(shí)需要備案,這里我默認(rèn)都已經(jīng)備案
進(jìn)入騰訊的SSL證書(shū)管理頁(yè)面,申請(qǐng)對(duì)應(yīng)的域名證書(shū)

下載對(duì)應(yīng)的證書(shū),這里我選擇NGINX版本的

編輯nginx.conf文件
將證書(shū)解壓放到服務(wù)器對(duì)應(yīng)位置上

添加如下內(nèi)容:
server {
#SSL 訪問(wèn)端口號(hào)為 443
listen 443 ssl;
#填寫綁定證書(shū)的域名
server_name www.sunbt.ltd;
#證書(shū)文件名稱
ssl_certificate /usr/local/nginx/conf/ssl/www.sunbt.ltd_bundle.crt;
#私鑰文件名稱
ssl_certificate_key /usr/local/nginx/conf/ssl/www.sunbt.ltd.key;
ssl_session_timeout 5m;
#請(qǐng)按照以下協(xié)議配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#請(qǐng)按照以下套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location @router {
rewrite ^.*$ /index.html last;
}
location / {
root /usr/local/nginx/html/web/blog; # /vue/dist/ 打包后的dist目錄
try_files $uri $uri/ @router; # 指向下面的 @router否則會(huì)出現(xiàn) 404
index index.html index.htm;
}
}
讓http請(qǐng)求跳轉(zhuǎn)到https
修改配置如下:
server {
listen 80;
#填寫綁定證書(shū)的域名
server_name cloud.tencent.com;
#把http的域名請(qǐng)求轉(zhuǎn)成https
return 301 https://$host$request_uri;
}
到此這篇關(guān)于NGINX設(shè)置HTTPS的文章就介紹到這了,更多相關(guān)NGINX設(shè)置HTTPS內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略
本篇文章主要介紹了使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
在Nginx服務(wù)器中配置針對(duì)TCP的負(fù)載均衡的方法
這篇文章主要介紹了在Nginx服務(wù)器中配置針對(duì)TCP的負(fù)載均衡的方法,另外還介紹了TCP負(fù)載均衡的執(zhí)行原理,需要的朋友可以參考下2015-12-12
nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例
Nginx通過(guò)limit_conn_zone 和 limit_req_zone對(duì)同一個(gè)IP地址進(jìn)行限速限流,本文主要介紹了nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Nginx代理接口訪問(wèn)返回404的實(shí)現(xiàn)示例
因?yàn)椴煌瑯I(yè)務(wù)系統(tǒng)間有接口調(diào)用,存在跨域問(wèn)題,為了解決同源策略,需要將接口通過(guò)nginx去轉(zhuǎn)發(fā),本文主要介紹了Nginx代理接口訪問(wèn)返回404的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-06-06
Nginx+Tomcat負(fù)載均衡集群安裝配置案例詳解
Nginx是一款非常優(yōu)秀的http服務(wù)器軟件,它能夠支持高達(dá)50000個(gè)并發(fā)連接數(shù)的相應(yīng),Nginx+Tomcat負(fù)載均衡集案列是應(yīng)用于生產(chǎn)環(huán)境的一套可靠的Web站點(diǎn)解決方案,對(duì)Nginx Tomcat負(fù)載均衡集群相關(guān)知識(shí)感興趣的朋友一起看看吧2021-10-10
Nginx ssi合并頁(yè)面的具體實(shí)現(xiàn)
nginx的ssi模塊是一種類似于ASP的基于服務(wù)器的網(wǎng)頁(yè)制作技術(shù),本文主要介紹了Nginx ssi合并頁(yè)面的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
詳解nginx請(qǐng)求頭數(shù)據(jù)讀取流程
這篇文章主要介紹了詳解nginx請(qǐng)求頭數(shù)據(jù)讀取流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

