摘要:下文是關(guān)于HTTPS的介紹旬盯,在用戶訪問安全台妆、內(nèi)容傳輸安全等使用場景中,阿里云CDN都可以提供相應的HTTPS安全加速解決方案胖翰,降低用戶成本接剩,實現(xiàn)加速與安全的雙重效果。目前萨咳,阿里云CDN HTTPS已經(jīng)全面降價懊缺,后付費HTTPS 0.05元/萬次請求。
大家都知道某弦,HTTP 本身是明文傳輸?shù)耐┨溃瑳]有經(jīng)過任何安全處理,網(wǎng)站HTTPS解決方案通過在HTTP協(xié)議之上引入證書服務靶壮,完美解決網(wǎng)站的安全問題怔毛。本文將為大家介紹阿里云CDN HTTPS安全加速傳輸?shù)幕A(chǔ)概念、解決方案腾降、技術(shù)優(yōu)勢和優(yōu)化實踐拣度。
關(guān)于HTTPS的那些基本概念
需求推進技術(shù)革命,互聯(lián)網(wǎng)是如此誕生,HTTPS也是這樣抗果。人們有在互聯(lián)網(wǎng)上分享和瀏覽信息的需求筋帖,所以信息的傳輸技術(shù)由此誕生并不斷升級。后來冤馏,人們位互聯(lián)網(wǎng)上的信息傳輸制定了一些準則日麸,也就是網(wǎng)絡協(xié)議HTTP。從最早1991年發(fā)布的HTTP/0.9版本逮光,直到最新的HTTP/2代箭,傳輸速度也在不斷升級。下面涕刚,我們來看下關(guān)于HTTP都有哪些基本的概念嗡综。
HTTP是什么?
HTTP是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議,是一個客戶端和服務器端請求和應答的標準(TCP)杜漠,用于從WWW服務器傳輸超文本到本地瀏覽器的傳輸協(xié)議极景,它可以使瀏覽器更加高效,使網(wǎng)絡傳輸減少驾茴。
HTTPS是什么?
HTTPS是安全超文本傳輸協(xié)議盼樟,英文全稱:Hyper Text Transfer Protocol over Secure Socket Layer,它是以安全為目標的HTTP通道沟涨,簡單講是HTTP的安全版恤批。它的工作原理是將HTTP用SSL/TLS協(xié)議進行封裝异吻,主要作用可以分為兩種:一種是建立一個信息安全通道裹赴,來保證數(shù)據(jù)傳輸?shù)陌踩涣硪环N就是確認網(wǎng)站的真實性诀浪。
SSL是什么棋返?
SSL是Secure Sockets Layer的縮寫,它是一個安全套接層雷猪。架構(gòu)于TCP之上的安全通訊協(xié)定睛竣,它可以有效協(xié)助Internet應用軟件提升通訊時的資料完整性以及安全性。后來求摇,標準化之后的SSL名稱改為 TLS(是“Transport Layer Security”的縮寫)射沟,中文叫做“傳輸層安全協(xié)議”。很多相關(guān)的文章都把這兩者并列稱呼(SSL/TLS)与境,因為這兩者可以視作同一個東西的不同階段验夯。
什么是握手?
在加密傳輸之前摔刁,客戶端和服務器首先必須建立連接和交換參數(shù)挥转,校驗通過之后進行協(xié)商密鑰和傳輸數(shù)據(jù),這個過程叫做握手(handshake)。
什么是加密和解密绑谣?
“加密”的過程党窜,就是把“明文”變成“密文”的過程;反之借宵,“解密”的過程幌衣,就是把“密文”變?yōu)椤懊魑摹薄T谶@兩個過程中壤玫,都需要一個關(guān)鍵的東西——叫做“密鑰”——來參與數(shù)學運算泼掠。
總結(jié):簡單來說,HTTPS就是HTTP的安全增強版本垦细,是HTTP協(xié)議與SSL加密協(xié)議的結(jié)合择镇,所以也被稱為HTTP over SSL。
為什么要使用HTTPS
HTTPS概念其實已經(jīng)提出來好多年了括改,但直到近兩年腻豌,才開始被主流應用。所以嘱能,我們在給大家介紹CDN HTTPS解決方案之前吝梅,要先搞清楚,為什么要選擇使用HTTPS來替換掉HTTP惹骂。
第一苏携, HTTPS是更具安全性的傳輸協(xié)議,可以防止網(wǎng)站被篡改和劫持对粪,這是最基本的功能右冻。Chrome和Firefox未來將HTTP標記為不安全的協(xié)議。
第二著拭, Apple ATS纱扭,要求IOS的 9.0或10.0的版本的APP使用HTTPS傳輸。
第三儡遮, 主流的瀏覽器已經(jīng)支持基于TLS的HTTP/2乳蛾。
第四, Google會給使用了HTTPS的網(wǎng)站進行搜索排名的加權(quán)鄙币,在鼓勵大家使用肃叶。
第五, 美英政府的網(wǎng)站官網(wǎng)都已經(jīng)轉(zhuǎn)向HTTPS十嘿。
我們可以看到因惭,從用戶需求到整個行業(yè)大趨勢,都是在推送HTTPS的應用详幽。那么阿里云CDN HTTPS的解決方案是怎樣的呢筛欢?
CDN HTTPS解決方案
HTTPS能夠有效的防止網(wǎng)站內(nèi)容被篡改被劫持浸锨,加強了網(wǎng)站的安全性。所以在阿里云CDN內(nèi)容分發(fā)網(wǎng)絡中版姑,我們已經(jīng)引入HTTPS安全加速解決方案柱搜。
舉個例子,在一個具有兩級節(jié)點的CDN分發(fā)架構(gòu)中剥险,從Client到L1節(jié)點再到L2聪蘸,再回源到源站,一共具有三段TCP連接表制,每一段都支持了HTTPS健爬。在這中間,在第一段Client到L1節(jié)點的時候么介,需要用戶自己的證書娜遵。L1到L2節(jié)點的時候使用的是我們的證書,保證了數(shù)據(jù)加密壤短∩枘猓回到源站的時候,如果用戶也希望用HTTPS久脯,我們也可以通過配置實現(xiàn)整個鏈路的HTTPS纳胧,充分保證了網(wǎng)站內(nèi)容的防篡改、防劫持帘撰。
以上方案跑慕,用戶需要將證書和私鑰傳輸?shù)紺DN的證書管理中心來去處理HTTPS的請求。同時摧找,我們還有更進一步的方案核行。對于對自己的證書和私鑰敏感性很高的用戶,希望將私鑰保存在自己的服務器上慰于,減少泄露的風險钮科。針對這種情況唤衫,我們推出了無私鑰解決方案婆赠。首先,用戶搭建私鑰服務器佳励,當CDN和Client之間產(chǎn)生了HTTPS握手的時候休里,CDN處理的時候會提取SNI,域名配置拿到后赃承,向私鑰服務器(KeyServer)請求簽名或者解密預主密鑰妙黍。這個方案,我們其實是把私鑰的部分剝離出來瞧剖,通過KeyServer來實現(xiàn)拭嫁。目前可免,阿里云已經(jīng)實現(xiàn)了自己的KeyServer,用戶只需要在自己的私鑰服務器上安裝一下KeyServer的rpm和配置一下即可做粤。
阿里云CDN 提供HTTPS安全加速方案浇借,僅需開啟安全加速模式后上傳加速域名證書/私鑰,實現(xiàn)全網(wǎng)數(shù)據(jù)加密傳輸功能怕品。
CDN HTTPS的技術(shù)優(yōu)勢
? 支持HTTP/2功能
HTTP/2是對HTTP/1.x進行加強妇垢,阿里云CDN 現(xiàn)已全平臺支持 HTTP/2,使用阿里云 HTTPS 加速服務的域名肉康,即可免費享受 HTTP/2服務闯估。HTTP/2是一個二進制的協(xié)議,支持頭部壓縮的功能吼和,多路復用以及服務器推送涨薪,能夠有效提升傳輸效率。
? 豐富的HTTPS配置項
阿里云CDN HTTPS可以以實現(xiàn)動態(tài)設置炫乓。舉個例子尤辱,在實踐中發(fā)現(xiàn)有些用戶的APP對HTTP/2協(xié)議實現(xiàn)的不夠完美,一種解法就是用戶修改自己的APP厢岂,把問題修復光督。另一種解法就是CDN通過配置把APP的HTTP/2協(xié)議給關(guān)掉,走HTTP/1.1協(xié)議塔粒,給用戶足夠的選擇结借。
? KeyServer無私鑰解決方案
前文提到,對于對自己證書和私鑰敏感度很高的用戶卒茬,可保障證書和私鑰安全性船老,支持自建KeyServer,提供KeyServer解決方案和源碼圃酵。
? 安全功能
HTTPS協(xié)議是由HTTP+SSL協(xié)議組合構(gòu)建的需身份認證的加密傳輸網(wǎng)絡協(xié)議柳畔,可全方位保障安全性,防止敏感信息泄露郭赐,防止傳輸過程中流量被劫持薪韩,篡改,確保數(shù)據(jù)的完整性捌锭。
? 動態(tài)證書
支持動態(tài)證書俘陷,一個用戶,如果想使用HTTPS观谦,在上傳完證書和私鑰之后拉盾,全網(wǎng)1分鐘就可以生效了。提供多規(guī)格證書豁状,支持免費證書捉偏、證書過期提醒倒得、證書屬性預覽。并且與阿里云證書中心CAS聯(lián)動夭禽,可以申請免費證書屎暇。
? 靈活付費方式
有后付費和預付費兩種形式,后付費HTTPS 0.05元/萬次請求驻粟,預付費請求包也有450元根悼,4000元,35000元各種規(guī)格蜀撑,規(guī)格為1億次挤巡、10億次、100億次(雙十一折扣)酷麦。
HTTPS相對于HTTP傳輸具有如此多的優(yōu)勢矿卑,那HTTPS在性能方面是否也同樣超越HTTP呢?我們知道沃饶,阿里云CDN HTTPS可以減少回源率母廷,提升通信效率,提高驗證效率糊肤,減少跳轉(zhuǎn)耗時琴昆,這些是通過哪些技術(shù)來實現(xiàn)優(yōu)化的呢?下面我們來看看CDN HTTPS的優(yōu)化實踐馆揉。
CDN HTTPS優(yōu)化實踐
首先业舍,我們知道,阻礙HTTPS的性能提升的關(guān)鍵因素是傳輸變慢升酣,因為TCP連接握手了之后舷暮,還要進行SSL的握手,多層的數(shù)據(jù)加解密以及證書傳輸噩茄。
那么HTTPS一定會變慢嗎下面?
下圖,是淘寶和天貓使用了HTTPS后的一些性能提升數(shù)據(jù)绩聘。其實我們可以看到沥割,淘寶首頁和搜索、聚劃算君纫、天貓等頁面中驯遇,性能都是正向提升的。所以接下來蓄髓,我們看看CDN HTTPS在性能方面到底做了哪些優(yōu)化?
第一舒帮, 我們知道会喝,SSL在握手階段是非常消耗資源的陡叠,SSL本身也支持了session ID和session ticket這兩種方式,第一種session ID是在sever端存儲會話ID肢执,client端下次請求時候如果攜帶了同樣的ID枉阵,就可以恢復以前的會話,省去了大量的握手環(huán)節(jié)预茄。但是一個client訪問不同sever的時候兴溜,存在ID共享的問題,實現(xiàn)起來比較復雜耻陕。第二種session ticket可以把會話的信息發(fā)給client拙徽,client去保存信息,不會依賴于某個sever了诗宣。
第二膘怕, 我們需要把HTTP/2協(xié)議用起來,多路復用和頭部壓縮都是可以提升傳輸效率的召庞。
第三岛心, 域名合并,對于主站和用戶域名比較多的情況篮灼,我們就傾向于把域名做合并忘古,合并成一個泛域名中做處理。這樣可以減少SSL握手诅诱,提升重用存皂,進而提升效率。
第四逢艘, 協(xié)議棧優(yōu)化旦袋,這是各大CDN公司都在做的功能。傳統(tǒng)協(xié)議棧是逐漸的試探并且越來越多發(fā)送數(shù)據(jù)的過程它改,初始化窗口會比較小疤孕。我們現(xiàn)在會針對性進行調(diào)整,并且提升快速重傳的效率央拖。
第五祭阀, 優(yōu)先算法,優(yōu)先預制ECDSA的算法鲜戒,在產(chǎn)生相同加密強度的時候专控,數(shù)據(jù)量更少。
以上遏餐,都是為了更高效的傳輸和減少數(shù)據(jù)量伦腐,CDN HTTPS所進行的一些優(yōu)化實踐。
另外失都,在峰值的應對上柏蘑,除了自身的HTTPS優(yōu)化幸冻,我們還需要在Cache系統(tǒng)上進行預熱,全部都加載到一級節(jié)點咳焚,就不存在回源的問題了洽损。另外,調(diào)度系統(tǒng)中革半,我們業(yè)務系統(tǒng)要給出預判峰值碑定,同時CDN需要做熱點地區(qū)的統(tǒng)計,與臨近非熱點地區(qū)分攤又官,依據(jù)節(jié)點能力按比例進行分配延刘。當然,針對峰值情況赏胚,我們也需要做限流访娶。
如何更好的使用HTTPS
說了這么多HTTPS的好處,那用戶可以如何更好的使用HTTPS呢觉阅?
第一崖疤, 證書的申請,根據(jù)域名的類型來申請典勇,阿里云也提供證書服務劫哼,可簽發(fā)Symantec、CFCA割笙、GeoTrust證書权烧。證書的分類有三種:DV、OV和EV伤溉。DV是指基于域名級別的證書般码,機構(gòu)只需要驗證域名的所有者,安全級別比較低乱顾。OV和EV是企業(yè)級別證書板祝,除了驗證域名所有者還要驗證企業(yè)信息。EV的證書走净,在訪問時能夠顯示公司名字券时。
第二, 源站改造伏伯,包括頁面資源的改造橘洞,TLS版本選擇1.0以上,關(guān)于session ID和session ticket的優(yōu)化配置说搅,證書上支持SHA256等工作炸枣。另外,實際應用中,有一個問題抛虏,當用戶輸入域名博其,我們可以通過配置強制HTTPS訪問套才。
以上就是關(guān)于HTTPS的介紹迂猴,在用戶訪問安全、內(nèi)容傳輸安全等使用場景中背伴,阿里云CDN都可以提供相應的HTTPS安全加速解決方案沸毁,降低用戶成本,實現(xiàn)加速與安全的雙重效果傻寂。目前息尺,阿里云CDN HTTPS已經(jīng)全面降價,后付費HTTPS 0.05元/萬次請求疾掰。為了迎接雙11搂誉,預付費資源包也推出新購特惠:雙十一當天30元購買1千萬次HTTPS請求數(shù)資源包。歡迎大家登錄雙11會場進行選購静檬。