http和https的基本概念
http是目前互聯(lián)網(wǎng)應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議奥洼,用于從3W服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議
https是以安全為通道的http通道,安全基礎(chǔ)是ssl / tls,因此加密的詳細內(nèi)容需要ssl(如下圖所示)
http與https對比
https規(guī)定了新的協(xié)議名和端口號443弟跑,其他的應(yīng)答模式廊蜒,報文結(jié)構(gòu),請求方法胯盯,url懈费,頭字段,鏈接管理都沿用http
http與https的通信過程
HTTP請求過程中博脑,客戶端與服務(wù)器之間沒有任何身份確認的過程憎乙,數(shù)據(jù)全部明文傳輸票罐,“裸奔”在互聯(lián)網(wǎng)上,所以很容易遭到黑客的攻擊
HTTPS 協(xié)議增加了很多握手泞边、加密解密等流程该押,雖然過程很復(fù)雜,但其可以保證數(shù)據(jù)傳輸?shù)陌踩?/p>
http和https的區(qū)別
1阵谚,https協(xié)議需要到ca申請證書蚕礼,免費證書較少,需要錢
2梢什,http是超文本傳輸協(xié)議奠蹬,信息是明文傳輸,https是相對安全的ssl加密傳輸協(xié)議
3嗡午,http和https對的鏈接方式不用囤躁,使用的端口也不一樣,http是80荔睹,https是443
4狸演,http的鏈接是無狀態(tài)的,https是由ssl+http構(gòu)建的可進行加密傳輸僻他,身份認證的網(wǎng)絡(luò)協(xié)議宵距,比http安全,響應(yīng)他的速度會比http慢2到100倍中姜,更消耗服務(wù)器和客戶端的硬件資源消玄,負載增強
nginx實現(xiàn)http修改為https步驟
1,獲取ssl證書
2丢胚,安裝ssl證書(ssl證書可以去阿里云或騰訊云申請免費的證書翩瓜,一般提供域名驗證即可成果申請免費證書。申請成果后下載對應(yīng)的證書文件)
3, 配置ssl模塊(nginx支持https需要安裝http_ssl_module模塊携龟,默認不會安裝此模塊兔跌,如需支持https需要單獨安裝)
4,配置nginx支持https
#之前講到http下可以配置多個server
http {
#可在http下配置多個server同時配置http與https
server {
listen 80;
server_name ...;
location / {
.....
}
}
server {
listen 443;
server_name ...;
ssl_certificate #證書名字
ssl_certificate_key #證書名字.key
location / {
.....
}
}
}
5峡蟋,重啟nginx