摘要:在計算機網(wǎng)絡(luò)上,經(jīng)由超文本傳輸協(xié)議進行通信,但利用來對數(shù)據(jù)包進行加密。不應與在中定義的安全超文本傳輸協(xié)議相混淆。是超文本傳輸協(xié)議,信息是明文傳輸,則是具有安全性的加密傳輸協(xié)議。
關(guān)于作者
程序開發(fā)人員,不拘泥于語言與技術(shù),目前主要從事PHP和前端開發(fā),使用Laravel和VueJs,App端使用Apicloud/Cordova混合式開發(fā)。合適和夠用是永不停息的追求。什么是https個人網(wǎng)站:https://www.linganmin.cn
引自維基百科
超文本傳輸安全協(xié)議(英語:Hypertext Transfer Protocol Secure,縮寫:HTTPS)是一種網(wǎng)絡(luò)安全傳輸協(xié)議。在計算機網(wǎng)絡(luò)上,HTTPS經(jīng)由超文本傳輸協(xié)議進行通信,但利用SSL/TLS來對數(shù)據(jù)包進行加密。HTTPS開發(fā)的主要目的,是提供對網(wǎng)絡(luò)服務(wù)器的身份認證,保護交換數(shù)據(jù)的隱私與完整性。
HTTPS的主要思想是在不安全的網(wǎng)絡(luò)上創(chuàng)建一安全信道,并可在使用適當?shù)募用馨头?wù)器證書可被驗證且可被信任時,對竊聽和中間人攻擊提供合理的防護。
HTTPS的信任繼承基于預先安裝在瀏覽器中的證書頒發(fā)機構(gòu)(如VeriSign、Microsoft等)(意即“我信任證書頒發(fā)機構(gòu)告訴我應該信任的”)。因此,一個到某網(wǎng)站的HTTPS連接可被信任,當且僅當:
用戶相信他們的瀏覽器正確實現(xiàn)了HTTPS且安裝了正確的證書頒發(fā)機構(gòu);
用戶相信證書頒發(fā)機構(gòu)僅信任合法的網(wǎng)站;
被訪問的網(wǎng)站提供了一個有效的證書,意即,它是由一個被信任的證書頒發(fā)機構(gòu)簽發(fā)的(大部分瀏覽器會對無效的證書發(fā)出警告);
該證書正確地驗證了被訪問的網(wǎng)站(如,訪問https://example時收到了給“Example Inc.”而不是其它組織的證書);
或者互聯(lián)網(wǎng)上相關(guān)的節(jié)點是值得信任的,或者用戶相信本協(xié)議的加密層(TLS或SSL)不能被竊聽者破壞。
HTTPS不應與在 RFC 2660 中定義的安全超文本傳輸協(xié)議(S-HTTP)相混淆。
HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因此使用HTTP協(xié)議傳輸隱私信息非常不安全,為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計了SSL(Secure Sockets Layer)協(xié)議用于對HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進行加密,從而就誕生了HTTPS。簡單來說,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全。
HTTPS和HTTP的區(qū)別主要如下:
https協(xié)議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。
http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
https工作原理客戶端在使用HTTPS方式與Web服務(wù)器通信時有以下幾個步驟,如圖所示。
客戶使用https的URL訪問Web服務(wù)器,要求與Web服務(wù)器建立SSL連接。
Web服務(wù)器收到客戶端請求后,會將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端。
客戶端的瀏覽器與Web服務(wù)器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。
客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。
Web服務(wù)器利用自己的私鑰解密出會話密鑰。
Web服務(wù)器利用會話密鑰加密與客戶端之間的通信。
關(guān)于TLS/SSL傳輸層安全協(xié)議(英語:Transport Layer Security,縮寫:TLS),及其前身安全套接層(Secure Sockets Layer,縮寫:SSL)是一種安全協(xié)議,目的是為互聯(lián)網(wǎng)通信,提供安全及數(shù)據(jù)完整性保障為什么要部署https
說到底,就是 https 更安全。甚至為了安全,一個專業(yè)可靠的網(wǎng)站, https 是必須的。 Firefox 和 Chrome 都計劃將沒有配置 SSL 加密的 http 網(wǎng)站標記為不安全(貌似 Firefox 50 已經(jīng)這么干了),目前它們也正在聯(lián)合其他相關(guān)的基金會與公司推動整個互聯(lián)網(wǎng) https 化,現(xiàn)在大家訪問的一些主要的網(wǎng)站。如 Google 多年前就已經(jīng)全部啟用 https ,國內(nèi)的淘寶、搜狗、知乎、百度等等也全面 https 了。甚至 Google 的搜索結(jié)果也正在給予 https 的網(wǎng)站更高的排名和優(yōu)先收錄權(quán)。
怎么部署 https 呢你只需要有一張被信任的 CA ( Certificate Authority )也就是證書授權(quán)中心頒發(fā)的 SSL 安全證書,并且將它部署到你的網(wǎng)站服務(wù)器上。一旦部署成功后,當用戶訪問你的網(wǎng)站時,瀏覽器會在顯示的網(wǎng)址前加一把小綠鎖,表明這個網(wǎng)站是安全的,當然同時你也會看到網(wǎng)址前的前綴變成了 https ,不再是 http 了。
怎么獲得 SSL 安全證書理論上,我們自己也可以簽發(fā) SSL 安全證書,但是我們自己簽發(fā)的安全證書不會被主流的瀏覽器信任,所以我們需要被信任的證書授權(quán)中心( CA )簽發(fā)的安全證書。而一般的 SSL 安全證書簽發(fā)服務(wù)都比較貴,比如 Godaddy 、 GlobalSign 等機構(gòu)簽發(fā)的證書一般都需要20美金一年甚至更貴,不過為了加快推廣 https 的普及, EEF 電子前哨基金會、 Mozilla 基金會和美國密歇根大學成立了一個公益組織叫 ISRG ( Internet Security Research Group ),這個組織從 2015 年開始推出了 Let’s Encrypt 免費證書。這個免費證書不僅免費,而且還相當好用,所以我們就可以利用 Let’s Encrypt 提供的免費證書部署 https 了
Let’s Encrypt 及 Certbot 簡介Let’s Encrypt 是 一個叫 ISRG ( Internet Security Research Group ,互聯(lián)網(wǎng)安全研究小組)的組織推出的免費安全證書計劃。參與這個計劃的組織和公司可以說是互聯(lián)網(wǎng)頂頂重要的先驅(qū),除了前文提到的三個牛氣哄哄的發(fā)起單位外,后來又有思科(全球網(wǎng)絡(luò)設(shè)備制造商執(zhí)牛耳者)、 Akamai 加入,甚至連 Linux 基金會也加入了合作,這些大牌組織的加入保證了這個項目的可信度和可持續(xù)性。
Certbot 使用方法Certbot 的官方網(wǎng)站是 https://certbot.eff.org/ ,打開這個鏈接選擇自己使用的 web server 和操作系統(tǒng),EFF 官方會給出詳細的使用方法,如下圖
假設(shè)運行環(huán)境為centos7.1,Web 服務(wù)器是 Nginx 1.12.0(因為我的生產(chǎn)環(huán)境是),當前工作目錄為 /root
獲取certbot客戶端
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto
停止nginxyunx
service nginx stop
生成證書
./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名地址`
當前網(wǎng)站有多個域名時需在后面增加,例如
./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名1` -d `你的域名2`
查看生產(chǎn)的證書
tree /etc/letsencrypt/live/
將證書用于nginx
在nginx網(wǎng)站配置文件中增加
# TLS 基本設(shè)置 ssl_certificate /etc/letsencrypt/live/www.just4fun.site/fullchain.pem;#證書位置 ssl_certificate_key /etc/letsencrypt/live/www.just4fun.site/privkey.pem;# 證書位置
啟動nginx
service nginx start
至此https配置完成
證書續(xù)簽Let’s Encrypt 生成的免費證書為3個月時間,但是我們可以無限次續(xù)簽證書
./certbot-auto renew
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39585.html
為了網(wǎng)站的安全,是時候加上 https 了。https 需要申請證書, 可以選擇付費(阿里云),免費(騰訊云,阿里云),當然選擇免費版了,下面介紹一種方便的免費證書配置方法Let’s Encrypt: 物料準備 域名+服務(wù)器+nginx(下面以 ubuntu 為例子) 安裝 cerbot 工具 $ sudo apt-get install certbot 申請證書 $ sudo service n...
摘要:超文本傳輸安全協(xié)議英語,縮寫,常稱為,或是一種透過計算器網(wǎng)上進行安全通信的傳輸協(xié)議。超文本傳輸安全協(xié)議為什么要開啟安全性開啟免費服務(wù)我們今天介紹的免費簽名平臺是,安裝過程以為例,如果你使用了其他系統(tǒng)或其他服務(wù)類型可前往查看相應部署方法。 HTTPS 超文本傳輸安全協(xié)議(英語:Hypertext Transfer Protocol Secure,縮寫:HTTPS,常稱為HTTP over...
摘要:不想讓應用改用的服務(wù)。因此,研究如何啟用,本文即是介紹如何在上配合使用。因此拋棄這個模式,我們使用配置模式。修改你的服務(wù)器配置,在模塊添加可以看到,上面的,我們讓他指向了,因為我的應用是通過的寫的,如果修改源代碼的話,比較麻煩。 前言 自己做了一個iOS App,需要訪問自己的網(wǎng)站獲取數(shù)據(jù),但是系統(tǒng)默認只能直接訪問https的網(wǎng)站。不想讓應用改用http的服務(wù)。因此,研究如何啟用htt...
閱讀 561·2021-11-25 09:44
閱讀 2648·2021-11-24 09:39
閱讀 2323·2021-11-22 15:29
閱讀 3534·2021-11-15 11:37
閱讀 3402·2021-09-24 10:36
閱讀 2527·2021-09-04 16:41
閱讀 1009·2021-09-03 10:28
閱讀 1872·2019-08-30 15:55