CDN排坑指南-云運維工程師從入門到精通_第1頁
CDN排坑指南-云運維工程師從入門到精通_第2頁
CDN排坑指南-云運維工程師從入門到精通_第3頁
CDN排坑指南-云運維工程師從入門到精通_第4頁
CDN排坑指南-云運維工程師從入門到精通_第5頁
已閱讀5頁,還剩142頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

CDN原理及快速入門4CDN加速的核心原理是什么4CDN初次使用快速導(dǎo)航CDN進階功能排查207個問題搞懂HTTPS證書配置CDN刷新和預(yù)熱常見問題必備API接口和SDK工具包CDN性能優(yōu)化與安全防護36核心課題——學(xué)會從緩存命中率解決看問題流量突增CDN幫你分析最佳實踐——運維仔教你優(yōu)化加速48CDN訪問異常排查59403錯誤怎么辦?七種原因幫你精準定位三招快速定位404錯誤502/503/504錯誤排查攻略服務(wù)器陷入死循環(huán)?508錯誤的解法重定向次數(shù)過多?三個方法搞定87CDN原理及快速入門CDN加速的核心原理是什么簡介:了解和學(xué)習(xí)阿里云CDN的工作原理非常重要,這對于網(wǎng)站優(yōu)化、解決用戶問題都有非常大的幫助。本文主要介紹了阿里云CDN的加速原理和緩存策略,舉了一些實際的例子方便讀者能清晰地理解阿里云CDN。什么是CDNCDN的全稱是ContentDeliveryNetwork,即內(nèi)容分發(fā)網(wǎng)絡(luò)。CDN是構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過中心平臺的負載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率。CDN的關(guān)鍵技術(shù)主要包括了節(jié)點調(diào)度、節(jié)點負載均衡和內(nèi)容存儲、分發(fā)、管理技術(shù)。阿里云CDN阿里云在全球擁有2800+節(jié)點。中國內(nèi)地(大陸)擁有2300+節(jié)點,覆蓋31個省級區(qū)域,大量節(jié)點位于省會等一線城市。海外、中國香港、中國澳門和中國臺灣擁有500+節(jié)點,覆蓋70多個國家和地區(qū)。同時,阿里云所有節(jié)點均接入萬兆網(wǎng)卡,單節(jié)點存儲容量達40TB~1.5PB,帶寬負載達到40Gbps~200Gbps,具備130Tbps帶寬儲備能力。點擊文檔三分鐘了解阿里云CDN。CDN加速前使用CDN加速前,用戶側(cè)發(fā)起的請求通過用戶側(cè)DNS遞歸到網(wǎng)站DNS解析以后,最終用戶側(cè)直接請求網(wǎng)站服務(wù)器。這里可能會造成以下幾種情況:1.中心服務(wù)器負載過高,因為所有客戶端發(fā)起的請求都會請求到服務(wù)器上2.終端用戶內(nèi)容獲取延時高,比如服務(wù)器在北京,而用戶在廣州3.服務(wù)穩(wěn)定性差CDN加速后CDN通過在現(xiàn)有網(wǎng)絡(luò)中增加一層新的緩存節(jié)點,將源站的資源發(fā)布到最接近用戶的網(wǎng)絡(luò)節(jié)點,使得客戶端在請求時直接訪問到就近的CDN節(jié)點并命中該資源,減少回源情況,提高網(wǎng)站訪問速度。阿里云CDN緩存節(jié)點可分為L1節(jié)點(一級節(jié)點)和L2節(jié)點(二級節(jié)點請求的流程是:客戶端-->CDN_L1-->CDN_L2-->源站。CDN的L1節(jié)點分布在全國各省市,L2節(jié)點分布在幾個大區(qū)下,可以把L2節(jié)點理解為匯聚式節(jié)點,簡單架構(gòu)如下圖所示。 CDN節(jié)點緩存策略如下:1.客戶端向CDN節(jié)點發(fā)起連接請求,當(dāng)L1節(jié)點有緩存資源時,會命中該資源,直接將數(shù)據(jù)返回給客戶端。當(dāng)L1節(jié)點無緩存資源時,會向L2節(jié)點請求對應(yīng)資源,如果L2節(jié)點有緩存資源,則將資源同步到L1節(jié)點,并返回給用戶;如果L2節(jié)點無緩存資源,則直接回客戶源站獲取資源,并按照配置的緩存策略進行緩存。2.為了方便理解,再舉一個簡單例子,假設(shè)有杭州移動節(jié)點L1-hz和寧波移動節(jié)點L1-nb兩個L1節(jié)點,這兩個L1節(jié)點都回源到同一個L2這個節(jié)點,源站在北京。這幾個CDN節(jié)點初始的時候都沒有用戶的緩存資源。當(dāng)ABC三個用戶依次請求同一個圖片的時候,過程如下:杭州移動用戶A被CDN調(diào)度到杭州移動L1-hz節(jié)點,L1-hz由于沒有緩存,則回源到L2,L2由于也沒有緩存,則回源到北京源站,請求到數(shù)據(jù)以后再返回給L1-hz,L1再返回給用戶A。用戶A請求完以后,L1-hz和L2節(jié)點都有了緩存資源。此時杭州移動用戶B也開始訪問這個圖片,用戶B也被分配到了L1-hz節(jié)點,由于L1-hz已經(jīng)有這個圖片的緩存了,因此不需要再去回源了,而是直接返回緩存給用戶B。寧波移動用戶C此時也訪問了同一個圖片,用戶C被分配到了寧波移動節(jié)點L1-nb,由于L1-nb還沒有緩存,就會回源到L2,而L2已經(jīng)有緩存,因此L2會直接返回緩存數(shù)據(jù)給L1-nb,然后L1-nb再返回給用戶B。此過程存在L1-nb向L2回源的過程,而L2不需要再去回源到源站了。通過CDN加速,杭州用戶A和B可以直接從杭州節(jié)點讀取緩存數(shù)據(jù),寧波用戶C可以直接從寧波節(jié)點讀取數(shù)據(jù),不需要每一次都去請求北京服務(wù)器了,提高了用戶側(cè)的訪問速度,降低了服務(wù)器壓力。CDN工作原理通過以下案例,可以進一步了解CDN的工作原理。假設(shè)加速域名為,接入CDN網(wǎng)絡(luò),開始使用加速服務(wù)后,當(dāng)終端用戶(北京)發(fā)起HTTP請求時,處理流程如下圖所示。 1.當(dāng)終端用戶(北京)向下的某資源發(fā)起請求時,首先向LDNS(本地DNS)發(fā)起域名解析請求。2.LDNS檢查緩存中是否有的IP地址記錄。如果有,則直接返回給終端用戶;如果沒有,則向授權(quán)DNS查詢。3.當(dāng)授權(quán)DNS解析時,返回域名CNAME對應(yīng)IP地址。4.域名解析請求發(fā)送至阿里云DNS調(diào)度系統(tǒng),并為請求分配最佳節(jié)點IP地址。5.LDNS獲取DNS返回的解析IP地址。6.用戶獲取解析IP地址。7.用戶向獲取的IP地址發(fā)起對該資源的訪問請求。如果該IP地址對應(yīng)的節(jié)點已緩存該資源,則會將數(shù)據(jù)直接返回給用戶,例如,圖中步驟7和8,請求結(jié)束。如果該IP地址對應(yīng)的節(jié)點未緩存該資源,則節(jié)點向源站發(fā)起對該資源的請求。獲取資源后,結(jié)合用戶自定義配置的緩存策略,將資源緩存至節(jié)點,例如,圖中的北京節(jié)點,并返回給用戶,請求結(jié)束。配置緩存策略的操作方法,請參見緩存配置。特別注意CDN調(diào)度系統(tǒng)分配節(jié)點的時候,是根據(jù)客戶端的LocalDNS來分配節(jié)點的,而不是根據(jù)客戶端IP來分配節(jié)點的。因此,如果客戶端LocalDNS設(shè)置不正確的話會導(dǎo)致無法分配調(diào)度到最優(yōu)的節(jié)點。什么資源可以被加速在HTTP請求的資源,請求可以分為靜態(tài)請求和動態(tài)請求。靜態(tài)請求是指在不同請求中訪問到的數(shù)據(jù)都相同的靜態(tài)文件。例如:圖片、視頻、網(wǎng)站中的文件(html、css、js)、軟件安裝包、apk文件、壓縮包文件等。CDN加速的本質(zhì)是緩存加速,將您服務(wù)器上存儲的靜態(tài)內(nèi)容緩存在阿里云CDN節(jié)點上,當(dāng)您訪問這些靜態(tài)內(nèi)容時,無需訪問服務(wù)器源站,就近訪問阿里云CDN節(jié)點即可獲取相同內(nèi)容,從而達到加速的效果,同時減輕服務(wù)器源站的壓力。動態(tài)請求是指在不同請求中訪問到的數(shù)據(jù)不相同的動態(tài)內(nèi)容。例如:網(wǎng)站中的文件(asp、jsp、php、perl、cgi)、API接口、數(shù)據(jù)庫交互請求等。當(dāng)客戶端訪問這些動態(tài)內(nèi)容時,每次都需要訪問用戶的服務(wù)器,由服務(wù)器動態(tài)生成實時的數(shù)據(jù)并返回給客戶端。因此CDN的緩存加速不適用于加速動態(tài)內(nèi)容,CDN無法緩存實時變化的動態(tài)內(nèi)容。對于動態(tài)內(nèi)容請求,CDN節(jié)點只能轉(zhuǎn)發(fā)回源站服務(wù)器,沒有加速效果。如果用戶的網(wǎng)站或App應(yīng)用有較多動態(tài)內(nèi)容,例如需要對各種API接口進行加速,則需要使用阿里云全站加速產(chǎn)品。全站加速能同時加速動態(tài)和靜態(tài)內(nèi)容,加速方式如下:靜態(tài)內(nèi)容使用CDN加速。動態(tài)內(nèi)容通過阿里云的路由優(yōu)化、傳輸優(yōu)化等動態(tài)加速技術(shù)以最快的速度訪問您的服務(wù)器源站獲取數(shù)據(jù)。從而達到全站加速的效果。CDN的緩存策略靜態(tài)內(nèi)容可以在CDN上緩存多久,這個是根據(jù)CDN的緩存策略的。如果用戶沒有主動到CDN上配置過期時間,則會遵循CDN的默認緩存策略。CDN的默認緩存時間比較短,最大不超過3600秒,因此很容易緩存過期。因為網(wǎng)站開發(fā)及其相關(guān)技術(shù)人員更清楚自身網(wǎng)站的業(yè)務(wù)邏輯、靜態(tài)和動態(tài)因素,所以建議用戶通過控制臺按照文件類型和目錄設(shè)置緩存時間。 用戶可以登錄阿里云CDN控制臺配置緩存過期時間,針對靜態(tài)資源配置指定目錄和文件后綴名的緩存過期時間和優(yōu)先級,資源過期后,自動從CDN節(jié)點刪除。全站加速和CDN全站加速(DynamicRouteforContentDeliveryNetwork)是阿里云融合了動態(tài)加速和靜態(tài)加速技術(shù)的CDN產(chǎn)品。該產(chǎn)品一站式優(yōu)化了頁面動靜態(tài)資源混雜、跨運營商、網(wǎng)絡(luò)不穩(wěn)定、單線源站、突發(fā)流量、網(wǎng)絡(luò)擁塞等諸多因素導(dǎo)致的響應(yīng)慢、丟包、服務(wù)不穩(wěn)定的問題,提升全站性能和用戶體驗。全站加速和CDN的對比如下全站加速的靜態(tài)加速和CDN的加速原理一致,是通過將靜態(tài)資源緩存到邊緣節(jié)點的方式,提供用戶就近訪問去做加速。全站加速的動態(tài)加速是對于動態(tài)請求回源的時候,通過智能路由優(yōu)化、協(xié)議優(yōu)化等動態(tài)加速技術(shù)快速回源獲取。注:全站加速默認走了動態(tài)加速,動態(tài)加速是每次回源的。如果需要走緩存的話,需要配置靜態(tài)加速。目前配置靜態(tài)加速支持按照文件類型、URI以及路徑方式配置。更多CDN應(yīng)用場景CDN初次使用快速導(dǎo)航簡介:本文介紹了用戶使用阿里云CDN加速時的快速入門手冊,包括如何添加域名、如何配置CNAME解析、如何驗證CDN是否生效,并介紹了一些常見的問題。概述當(dāng)您初次使用CDN時,可以快速了解其操作流程和操作場景。本文檔指導(dǎo)您快速開通CDN,并加速您的域名,操作流程如入門概述所示。主要包括:【開通CDN服務(wù)】-->【添加CDN加速域名】-->【配置CNAME解析】-->【驗證CDN是否生效】添加CDN加速域名登錄阿里云CDN控制臺,按照添加加速域名幫助文檔去完成域名的添加。該幫助文檔對每一個選項做了解釋,如不清楚基本概念可先閱讀幫助文檔,以下是一些添加域名的時候遇到的常見問題。Q.加速域名是添加主域名還是子域名假如您的網(wǎng)站域名是,您想加速該網(wǎng)站,那么這里的CDN加速域名應(yīng)該填寫,而不是。也就是說,您需要加速哪個域名,就添加對應(yīng)的這個域名。Q.是否支持泛域名支持添加泛域名。泛域名是指使用通配符做加速域名以實現(xiàn)所有的次級域名加速效果。例如,您添加了.作為加速域名,將.解析至CDN生成的CNAME域名后,則所有.的次級域名均支持CDN加速。泛 域名.的三級域名不提供加速服務(wù)。Q.泛域名限制最多支持三級泛域名,3個點,例如:*.Q.業(yè)務(wù)類型的種類和概念是什么目前CDN支持"圖片小文件"、"大文件下載"、"視音頻點播"、"直播流媒體"、"全站加速"、"安全加速"業(yè)務(wù)類型,可以根據(jù)實際的業(yè)務(wù)類型,選擇適合自己業(yè)務(wù)的類型。Q.如何加速直播業(yè)務(wù)若您需要加速直播流媒體,請直接登錄直播控制臺,添加域名并進行相關(guān)配置。如果業(yè)務(wù)是推到自己的流媒體服務(wù)器,而不是直接推到阿里云,只是希望通過阿里云CDN加速直播的話,可以考慮使用直播服務(wù)的拉流直播功能。直播流方向:主播-->服務(wù)器-->阿里云直播中心-->觀眾。?Q.如果選擇音視頻點播業(yè)務(wù),是否無法加速圖片小文件CDN針對每一個業(yè)務(wù)類型都有特定的優(yōu)化。音視頻點播業(yè)務(wù)類型只是對音視頻的加速效果更佳,比如該場景支持對視頻的拖拽等。但同時該業(yè)務(wù)類型也是支持加速圖片小文件的,并不是說音視頻業(yè)務(wù)只能加速音視頻。同理,其他業(yè)務(wù)場景也是一樣的道理,但是具體的選擇,還是需要根據(jù)您主要加速的資源和業(yè)務(wù)場景,去選擇合理的業(yè)務(wù)類型。Q.什么是源站源站就是指您實際業(yè)務(wù)的服務(wù)器,當(dāng)CDN節(jié)點未緩存請求資源或緩存資源已到期時,CDN會回源到源站獲取資源,返回給客戶端。源站類型可以選擇OSS域名、IP、源站或函數(shù)計算域名。假設(shè)在使用CDN前,網(wǎng)站域名是,該域名解析到服務(wù)器,那么這里的源站IP就填寫。特別注意,源站必須公網(wǎng)可達。Q.什么是源站域名源站域名決定了回源時,CDN請求到哪個IP。假設(shè)源站域名是,那么CDN回源的時候,在CDN服務(wù)器上會先DNS解析得到源站IP地址,然后再請求到該IP。請注意:源站域名不能和CDN加速域名相同。Q.源站是否支持第三方的服務(wù)器或OSS支持,只要保證源站公網(wǎng)可達,可正常提供服務(wù)即可。Q.源站是阿里云OSS或ECS,回源是否可以走內(nèi)網(wǎng)不支持走內(nèi)網(wǎng),因為CDN節(jié)點都是架設(shè)在公網(wǎng)上的。Q.是否支持多個源站IP支持多個服務(wù)器外網(wǎng)IP。CDN主要支持主備方式切換源站場景。當(dāng)多個源站回源時,優(yōu)先回源優(yōu)先級為主的源站。如果主站連續(xù)3次健康檢查均失敗,則回源優(yōu)先級為備的源站。如果該源站的主站健康檢查成功,則該源站將重新標記為可用,恢復(fù)其優(yōu)先級。當(dāng)所有源站的回源優(yōu)先級相同時,CDN將自動輪詢回源。Q.端口是什么意思這個端口是指CDN的回源端口,它決定了CDN回源的時候,請求到源站的哪個端口。如選擇80端口,則CDN以HTTP協(xié)議訪問源站資源。如選擇443端口,則CDN以HTTPS協(xié)議訪問資源。Q.加速區(qū)域概念 CDN提供三個加速區(qū)域:"僅中國大陸"、"全球"和"全球(不包含中國大陸)"。"全球(不包含中國大陸)"這個加速區(qū)域,只有海外的CDN節(jié)點,沒有中國大陸的CDN節(jié)點,因此使用這個加速區(qū)域的情況下,中國大陸用戶訪問的時候都會訪問到海外的CDN節(jié)點,因此中國大陸用戶沒有加速效果。同理,"僅中國大陸"這個加速區(qū)域只有中國大陸的CDN節(jié)點,使用這個加速區(qū)域的情況下,海外用戶訪問的時候都會訪問到中國大陸的CDN節(jié)點,因此海外用戶沒有加速效果。Q.域名沒有備案怎么辦"全球(不包含中國大陸)"這個區(qū)域只有海外的CDN節(jié)點,所以不用備案。"僅中國大陸"和"全球"這兩個區(qū)域包含了國內(nèi)的CDN節(jié)點,所以域名必須備案的。如希望加速中國大陸用戶,則推薦您進入阿里云ICP代備案管理系統(tǒng)進行備案。添加域名失敗常見問題提示“域名已添加”阿里云的CDN、全站加速(DCDN)、安全加速(SCDN)、視頻直播(Live)、視頻點播(VOD)產(chǎn)品,底層都是基于CDN網(wǎng)絡(luò)的,同一個域名不能同時添加到以上兩個產(chǎn)品上。因此如果您的域名在以上其中一個產(chǎn)品下已經(jīng)添加了,則到其他一個產(chǎn)品里去添加同一個域名,會提示域名已存在。檢查域名是否在自己的其他阿里云賬號里添加了。如無法找到原因,提交阿里云工單協(xié)助處理。目前CDN添加域名的時候,有如下限制。請檢查自己是否有多個阿里云賬號,如無法定位請?zhí)峤话⒗镌乒斡蛎w移。添加精確域名時候:如果已經(jīng)在CDN上有添加泛域名,則必須跟泛域名在同一個賬號,否則報錯。添加泛域名時候:如果已經(jīng)在CDN上添加了精確域名,那么添加的泛域名必須在同一個賬號,否則報錯。每個阿里云賬戶下,最多支持加速50個域名。如果您的域名的總帶寬日均峰值大于50MB,且業(yè)務(wù)無風(fēng)險,則可提交工單申請增加域名個數(shù)。如果帶寬不滿足50MB,則暫時無法添加,建議使用泛域名加速。具體請參照CDN的使用限制說明。通常情況是因為之前使用CDN加速服務(wù)時有一些違規(guī)業(yè)務(wù)導(dǎo)致域名被CDN加入黑名單,請參照CDN的域名準入標準核實業(yè)務(wù)。目前CDN域名有專門的審核人員做審核,需要確保CDN加速的內(nèi)容是符合接入標準的,因此如果沒有及時審核通過,則需要耐心等待。如果最終審核失敗,則需要確認域名加速的內(nèi)容是否符合準入標準,可以參照域名審核失敗幫助文檔排查確認。配置CNAME域名解析域名添加成功后,阿里云CDN會分配對應(yīng)的CNAME地址。如果您想啟用CDN加速服務(wù),則需要將加速域名指向CNAME地址,訪問加速域名的請求才能轉(zhuǎn)發(fā)到CDN節(jié)點上,達到加速效果。如果您是初次接觸域名解析,您可以會有一堆疑問。"什么是域名解析"、"為什么要解析域名"、"如何進行域名解析"、"什么是A記錄"、"什么是CNAME記錄"、"CNAME記錄與A記錄的差別",這些問題在這篇域名解析幫助文檔里有很好的 解釋,建議您參考下。如何配置CDN的CNAME解析如果您的域名是在阿里云/萬網(wǎng),請參考以下域名解析參考文檔:阿里云/萬網(wǎng)配置流程如果您的域名是在騰訊云(原DNSPod請參考以下域名解析參考文檔:DNSPod配置流程如果您的域名是在新網(wǎng),請參考以下域名解析參考文檔:新網(wǎng)配置流程很多用戶在配置CNAME記錄的時候,出現(xiàn)了域名解析沖突的情況。在同一個域名解析服務(wù)商下,域名解析是存在沖突規(guī)則的,比如A記錄和CNAME記錄沖突,MX記錄和CNAME記錄沖突等,具體可以看這個域名解析沖突規(guī)則。Q.如何處理需要刪除A記錄,然后再去配置CNAME記錄。Q.刪除A記錄是否無法訪問網(wǎng)站只要配置了CNAME記錄以后,客戶端的請求會請求到CDN上,然后CDN再去訪問源站服務(wù)器,因此就沒必要再配置A記錄了。CNAME在CDN加速中的原理,請參見工作原理。請參照CNAME和MX沖突的解決方法處理。驗證CDN是否生效按照前面的步驟操作CNAME解析,如果CNAME解析正確,則CDN控制臺 會顯示正常的"√"符號。也可以參考如何驗證CDN節(jié)點是否生效文檔來確認是否正常解析到CDN。如果已經(jīng)正常解析解析到CDN,可以通過如何通過瀏覽器的審查元素判斷CDN緩存是否成功文檔判斷是否可以命中CDN緩存。如果控制臺顯示不正常的解析,則可能有以下幾種原因:確認配置的CNAME解析的記錄值是否和CDN控制臺獲取的記錄值一致,如不一致則解析失敗配置完域名解析以后,運營商DNS的TTL還未更新,則需要耐心等待下,一般情況下TTL時間為10分鐘,具體以解析配置的時候選擇的TTL為準CDN服務(wù)會去全網(wǎng)檢查加速域名域名是否解析到CDN,如果大部分區(qū)域已經(jīng)解析,但是還是有個別地區(qū)沒有解析的話,也會顯示感嘆號,需要全網(wǎng)解析生效以后才會顯示正常有一種特殊情況是,用戶配置域名解析的時候設(shè)置了解析路線,需求部分地區(qū)不走CDN加速。比如國內(nèi)的解析路線是解析到CDN,海外的解析路線是A解析到服務(wù)器,這種情況下,因為海外沒有解析到CDN,因此控制臺沒顯示正常,但在這種需求場景下,不影響用戶實際使用,如下圖CDN進階功能排查7個問題搞懂HTTPS證書配置簡介:本文主要介紹如何在阿里云CDN上配置HTTPS證書以及一些常見問題的解答。什么是HTTPS?HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密。HTTPS協(xié)議是以安全為目標的HTTP通道,簡單來說,HTTPS是HTTP的安全版,即將HTTP用SSL/TLS協(xié)議進行封裝,HTTPS的安全基礎(chǔ)是SSL/TLS協(xié)議。HTTPS提供了身份驗證與加密通訊方法,被廣泛用于萬維網(wǎng)上安全敏感的通訊,例如交易支付。根據(jù)2017年EFF(ElectronicFrontierFoundation)發(fā)布的報告,目前全球已有超過一半的網(wǎng)頁端流量采用了加密的HTTPS進行傳輸。更多HTTPS的信息請參考阿里云CDN官方幫助文檔什么是HTTPS加速。CDN如何HTTPS加速使用了CDN以后,域名解析到了CDN,因此必須要在CDN側(cè)配置HTTPS證書。如果CDN上沒有配置HTTPS證書,則CDN只支持HTTP訪問;如果CDN上配置了HTTPS證書,則CDN支持HTTP和HTTPS訪問。具體配置請參考幫助文檔“配置HTTPS證書”。7個問題搞懂HTTPS證書配置<21源站已經(jīng)配置了HTTPS,CDN上是否還需要配置HTTPS是客戶端和服務(wù)端的交互,沒有用CDN前,是客戶端直接和源站交互,因此源站需要配置HTTPS。使用CDN以后,是客戶端和CDN交互,因此如果需要HTTPS訪問CDN,則CDN上必須要配置HTTPS證書。源站配置了HTTPS證書只是支持CDN以HTTPS回源到源站。為什么配置了HTTPS,客戶端還是HTTP訪問的客戶端是HTTP訪問還是HTTPS訪問完全是客戶端的行為,如果希望客戶端強制用HTTPS訪問,可以在CDN上開啟強制HTTPS跳轉(zhuǎn)。申請CDN免費HTTPS證書失敗在阿里云CDN控制臺中申請免費HTTPS證書時,存在一些限制。您可以參考“在CDN的HTTPS設(shè)置中申請免費證書失敗”的文檔去排查和解決。CDN配置HTTPS以后還是無法訪問(1)如果是購買證書以后自定義上傳的情況,需要特別注意SSL證書根據(jù)其適用范圍可以分為:通配符域名、單個域名和多個域名。根據(jù)其名稱即可查看購買的證書分別適用于主域名下某個級別的全部子域名、單個域名或者多個域名。用戶是需要保證購買的證書必須適用于加速域名后續(xù)才可以添加在CDN中生效。如下圖所示的即是添加的SSL證書(適用于www域名)與CDN加速域名(video的子域名)是不相匹配的,因此會拋出NET::ERR_CERT_COMMON_NAME_INVALID的錯誤。 22>7個問題搞懂HTTPS證書配置(2)CA機構(gòu)提供的證書為了兼容性可能會提供多種形式的證書,CDN支持的證書僅有PEM格式,并且私鑰需要RSA格式。如果客戶獲取得到的是其他格式的證書是需要轉(zhuǎn)換后然后提交到CDN服務(wù)中的,常見格式切換格式請參考:CDN證書格ENDPRIVATEKEY-----樣式的話是需要通過如下命令轉(zhuǎn)換成RSA格式:opensslrsa-inold_server_key.pem-outnew_server_key.pem(3)CDN是不支持設(shè)置密碼的私鑰。如圖3所示即是經(jīng)過加密的私鑰,這類私鑰文件是需要經(jīng)過解密后才可以正常使用,因此CDN是無法正常使用的。7個問題搞懂HTTPS證書配置<23(4)證書鏈需要補全中間證書。對于中級CA機構(gòu)提供的證書,那么拿到的證書將包括多份證書,而CDN需要添加的是包括中間證書的完整證書鏈,拼接規(guī)則為:服務(wù)器證書放第一份,中間證書放第二份,中間不要有空行。另外有一些中間證書CA機構(gòu)提供了不同的服務(wù)器使用的證書,由于CDN是基于Tengine提供服務(wù)的,因此用戶是需要使用Nginx對應(yīng)的證書到視頻中心的。(5)CDN的HTTPS技術(shù)是基于SNI技術(shù)實現(xiàn)的。SNI技術(shù)主要是用來在同一臺服務(wù)器上配置多個證書的需求,而SNI是需要客戶端發(fā)送請求的時候帶有SNI的信息以標識是哪個域名的SSL請求,因此SNI技術(shù)對客戶端有一定的要求,部分低版本系統(tǒng)中的低版本瀏覽器不滿足該要求。SNI技術(shù)對于客戶端的限制詳細請參考:SNI對客戶端瀏覽器限制。為什么網(wǎng)站開啟HTTPS以后顯示不全打開瀏覽器開發(fā)者模式,切換到console頁面,如果看到MixedContent錯誤,則說明是瀏覽器安全限制導(dǎo)致的。瀏覽器要求Https的頁面里只能加載Https的地址,不能加載Http的資源。如果您的Https的頁面里加載了很多http的資源,這些資源加載不出來的,因此會引起網(wǎng)站顯示異常,這種情況需要網(wǎng)站技術(shù)人員把htm代碼里加載的資源地址都改成https的。CDN刷新和預(yù)熱常見問題簡介:本文詳細介紹了刷新和預(yù)熱功能并列舉了常見問題以及解決方案。刷新和預(yù)熱的概念刷新功能是指提交URL刷新或目錄刷新請求后,該加速域名下的所有CDN節(jié)點里的緩存內(nèi)容將會被強制過期,當(dāng)用戶再次向CDN節(jié)點請求資源時,CDN會直接回源站獲取對應(yīng)的資源返回給用戶,并將其緩存。(1)因為刷新會強制清除緩存,因此刷新功能會降低緩存命中率。(2)刷新支持URL刷新和目錄刷新。(3)URL刷新使用限制為2000條/日/每賬戶,目錄刷新使用限制為100個/預(yù)熱功能是指提交URL預(yù)熱請求后,源站將會主動將對應(yīng)的資源緩存到CDN節(jié)點,當(dāng)用戶首次請求時,就能直接從CDN節(jié)點緩存中獲取到最新的請求資源,無需再回源站獲取。預(yù)熱功能會提高緩存命中率。(1)預(yù)熱只支持URL預(yù)熱,不支持目錄預(yù)熱。(2)同一個ID每天最多預(yù)熱500個URL,每次最多只能提交100條。點擊【操作類型】可以選擇"刷新"或者"預(yù)熱"源站更新以后CDN多久時間更新CDN是否更新完全取決于CDN節(jié)點上的緩存是否過期了,如果緩存沒有過期,那么CDN依然會返回緩存數(shù)據(jù),因為CDN并不知道源站更新數(shù)據(jù)了。如果緩存過期了,那么客戶端請求到CDN的時候,CDN因為沒有緩存,就會回源向源站去獲取數(shù)據(jù),這個時候就獲取到新的數(shù)據(jù),進而依據(jù)緩存規(guī)則來把資源緩存下來。如果用戶沒有在CDN上配置緩存規(guī)則,那么CDN是依賴于默認的緩存規(guī)則來緩存的,最大緩存時間不超過3600秒。如果用戶有在CDN配置緩存規(guī)則,那么緩存過期時間就是依賴于用戶配置的緩存規(guī)則的。因此如果源站更新了資源,需要手動到CDN控制臺去刷新緩存,或調(diào)用CDN的API/SDK接口去刷新緩存,一般情況下刷新是5分鐘內(nèi)生效。如果是調(diào)用API/SDK接口,可以考慮寫一個自動化腳本。阿里云CDN為用戶提供了Python示例腳本,幫助用戶對文件或目錄快速進行刷新和預(yù)熱,具體可以參見刷新預(yù)熱自動化腳本。如何查看預(yù)熱任務(wù)是否執(zhí)行完成在CDN控制臺刷新預(yù)熱功能界面單擊【操作記錄】,即可查看預(yù)熱任務(wù)的執(zhí)行 狀態(tài)。預(yù)熱任務(wù)的狀態(tài)為成功,表示預(yù)熱任務(wù)提交成功,并不代表文件已經(jīng)預(yù)熱結(jié)束。執(zhí)行如下命令,查看預(yù)熱任務(wù)的執(zhí)行狀態(tài)系統(tǒng)顯示類似如下(1)CDN緩存節(jié)點可分為L1節(jié)點(一級節(jié)點)和L2節(jié)點(二級節(jié)點請求的流程是:客戶端-->CDN_L1-->CDN_L2-->源站。CDN的L1節(jié)點是邊緣節(jié)點,分布在靠近用戶側(cè),L2節(jié)點分布在幾個大區(qū)下,可以把L2節(jié)點理解為匯聚式節(jié)點,一個L2對應(yīng)多個L1節(jié)點。預(yù)熱功能是指提交URL預(yù)熱請求后,CDN的L2節(jié)點作為一個客戶端,主動向源站發(fā)起請求,將源站的資源緩存到CDN的L2節(jié)點上。(2)CDN的HTTP響應(yīng)頭里有Via字段(如上圖Via的前半部分代表二級節(jié)點狀態(tài),其中的“H”表示命中,說明文件已經(jīng)預(yù)熱到二級節(jié)點,即預(yù)熱成功了,不需要再回源站。(3)Via的后半部分代表一級節(jié)點的狀態(tài),“M”表示一級節(jié)點上沒有緩存,需要向二級節(jié)點回源。影響預(yù)熱完成時間的因素預(yù)熱完成的時間跟預(yù)熱的資源大小、預(yù)熱的URL數(shù)量、源站的性能、回源網(wǎng)絡(luò)等因素有關(guān)。(1)如前文所說,CDN是L1+L2的架構(gòu),預(yù)熱是指L2節(jié)點回源。假設(shè)用戶的CDN加速域名的調(diào)度域里有10個L2節(jié)點,那么預(yù)熱一個URL,那么這10個L2節(jié)點就會同時向源站去請求這個資源。依次類推,如果同時預(yù)熱100個URL,那就同時會有1000個請求去請求源站了。(2)基于以上說明,因為預(yù)熱會有并發(fā)的請求去請求源站,因此需要保證源站的性能、公網(wǎng)帶寬等能滿足,否則很可能會導(dǎo)致預(yù)熱失敗等情況。例如用戶的源站帶寬是5M,但是實際同時預(yù)熱了大量的URL,造成大量來自CDN的預(yù)熱請求,源站的帶寬被打滿,那么會導(dǎo)致CDN無法正常請求到數(shù)據(jù),最終導(dǎo)致預(yù)熱失敗。(3)另外請求資源的大小和數(shù)量也影響預(yù)熱時間,比如預(yù)熱1個5M的文件跟預(yù)熱一個500M的文件,那時間肯定不一樣。比如預(yù)熱1個5M的文件,跟同時預(yù)熱100個5M的文件,那時間也不一樣?;谝陨险f明,根據(jù)源站的性能情況,結(jié)合實際的業(yè)務(wù)情況,合理的預(yù)熱可以到達更優(yōu)的訪問效果。高效低價!CDN加速OSS架構(gòu)優(yōu)勢簡介:本文主要介紹CDN加速OSS的原理、入門配置以及常見問題。背景信息OSS源站上存儲的靜態(tài)資源包括靜態(tài)腳本、圖片、附件和音頻/視頻。當(dāng)終端用戶請求訪問或下載靜態(tài)資源時,CDN對OSS源站上的靜態(tài)資源進行加速,源站上的資源緩存到CDN的加速節(jié)點,系統(tǒng)自動調(diào)用離終端用戶最近的CDN節(jié)點上已緩存的資源。加速OSS架構(gòu)如下圖所示。具體操作可以參考CDN加速OSS最佳實踐。架構(gòu)優(yōu)勢CDN加速OSS的優(yōu)勢如下(1)用戶訪問網(wǎng)站資源,全部通過CDN,降低源站壓力。(2)使用CDN流量,單價低于OSS直接訪問外網(wǎng)流量。(3)資源從距離客戶端最近的CDN節(jié)點獲取,減少網(wǎng)絡(luò)傳輸距離,保證靜態(tài)資源質(zhì)量。常見問題CDN加速OSS的場景下,在OSS的Bucket中修改了Object,使用CDN加速域名訪問得到的Object仍是更新前的舊版本,必須在CDN中手動刷新后才能訪問到新版本的Object。這是因為Bucket中的Object更新了,但是CDN中該Object的緩存未到期,所以訪問的時候還是老的資源。用戶可以開啟CDN緩存自動刷新功能。開啟此功能后,若Object有更新,OSS會自動刷新CDN上的緩存,從而實現(xiàn)文件更新時緩存自動刷新。具體可以登錄OSS控制臺,在對應(yīng)Bucket下選擇【傳輸管理】>【域名管理】界面,設(shè)置開啟CDN緩存自動刷新。 出于安全考慮,從2019年9月23日起,針對之后新建的Bucket,直接使用OSS提供的默認域名,從互聯(lián)網(wǎng)訪問OSS上該Bucket的圖片類型文件,即mimetype為以下值:image/jpeg、image/gif、image/tiff、image/png、image/webp、image/svg+xml、image/bmp、image/x-ms-bmp、image/x-cmu-raster、image/exr、image/x-icon、image/heic,擴展名包括:jpg、jpeg、jpe、png、tif、tiff、gif、svg、bmp、ico、ras、dib、svgz、webp、bm、jfif、x-png、exr和heic時,ResponseHeader中會自動加上Content-Disposition:'attachment=filename;'。即從瀏覽器訪問圖片類型文件時,會以附件形式進行下載。用戶使用自有域名訪問OSS的請求,ResponseHeader中不會加上此信息。解決方案如下:(1)檢查并設(shè)置Bucket是否綁定CDN加速域名,詳情請參見綁定CDN加速域名。(2)檢查并配置CDN配置的回源Host為用戶的加速域名,而不是源站域名。如果設(shè)置源站域名(也就是OSS的域名則CDN回源的時候所帶的Host就是OSS域名,這樣會導(dǎo)致OSS返回強制下載的HTTP頭最終導(dǎo)致資源直接下載。注:如果訪問URL仍然為強制下載,則可能是CDN緩存了強制下載的HTTP頭,需要在CDN控制臺刷新URL。另外需要檢查OSS源文件的HTTP頭內(nèi)Content-Type的值是否正確,詳情請參見OSS如何設(shè)置Content-Type。三.CDN加速導(dǎo)致OSS配置的CORS跨域失效使用CDN加速OSS跨域訪問失敗,原因是可能存在這樣的場景:第一個用戶訪問CDN時,沒有發(fā)起跨域訪問,然后CDN回源到OSS的時候OSS返回了不帶跨域頭的ResponsHeaders信息,并且被CDN緩存下來了。當(dāng)?shù)诙€用戶訪問時,發(fā)起了跨域請求,但是由于CDN有緩存,直接把之前緩存下來的不帶跨域頭的ResponsHeaders信息返回了,導(dǎo)致本次跨域請求失敗。因此建議使用CDN加速OSS時,直接在CDN上去配置跨域規(guī)則,具體請參考CDN如何配置跨域資源共享(CORS)。四.CDN加速OSS資源返回403狀態(tài)碼為了防止OSS被盜鏈,保護OSS的資源安全,用戶把OSS的Bucket權(quán)限設(shè)置為私有權(quán)限,這樣就需要帶了簽名參數(shù)的URL去訪問。如果CDN加速OSS的訪問URL,不帶OSS簽名參數(shù)的話,就會導(dǎo)致403。這種情況下可以開啟阿里云OSS私有Bucket回源授權(quán)。當(dāng)開啟私有OSSBucket回源授權(quán)后,即表示開啟CDN對所有Bucket的只讀權(quán)限,CDN在回源的時候會計算OSS的簽名參數(shù),從而可以從OSS上正常獲取資源。五.CDN加速OSS訪問靜態(tài)托管頁面返回403可以通過Network下獲取403請求的ResponseHeaders信息去查看對應(yīng)的錯誤信息,如果出現(xiàn)如下錯誤,說明是開啟私有Bucket回源授權(quán)的情況下訪問了OSS的靜態(tài)首頁。需要注意,目前CDN的私有Bucket回源功能和OSS的靜態(tài)網(wǎng)站托管功能沖突,無法一起使用。 必備API接口和SDK工具包簡介:阿里云CDN提供了豐富的API接口,除了控制臺,CDN還開發(fā)了多樣化的接口。目前我們推薦用戶使用新版API,詳情請參見新版API參考。同時CDN提供了多語言SDK工具包,并且準備了SDK使用說明,以便用戶了解如何獲取、安裝和調(diào)用阿里云SDK。用戶可以單擊CDNSDK下載,并參考文檔去集成。目前CDN提供的SDK如下:Java、Python、PHP、.NET、C或C++、Go。API調(diào)用CDN的API是RPC風(fēng)格,用戶可以通過發(fā)送HTTPGET請求調(diào)用API,并按照接口說明在請求中加入相應(yīng)請求參數(shù),調(diào)用后系統(tǒng)會返回處理結(jié)果。CDN支持通過HTTP或HTTPS通道進行請求通信,為了獲得更高的安全性,推薦使用HTTPS通道發(fā)送請求。我們提供了API的調(diào)用規(guī)則,并且提供了使用Java、Python封裝API的示例,具體可以參見API調(diào)用方式。SDK調(diào)用由于API調(diào)用需要按照調(diào)用規(guī)則去計算簽名,經(jīng)常會遇到一些開發(fā)者計算簽名錯誤導(dǎo)致無法正常調(diào)用API的情況,建議用戶直接使用SDK來調(diào)用接口,SDK里封裝了接口,會自動計算簽名,免去自己計算簽名的困擾。用戶可以直接在OpenAPIExplorer中運行接口,填寫接口私有參數(shù)運行成功后,OpenAPIExplorer可以自動生成SDK代碼示例,集成SDK以后調(diào)用示例代碼即可。如下圖,在API接口文檔里單擊"調(diào)試"按鈕即可進入調(diào)試模式,設(shè)置參數(shù)以后調(diào)試成功可以查看示例代碼。 注:接口文檔提供了調(diào)用接口的錯誤碼,如果出現(xiàn)錯誤時,可以根據(jù)具體的錯誤碼以及錯誤解釋查找原因,確認是否是哪個參數(shù)傳的不正確。也可以參見這個CDN錯誤代碼匯總匹配錯誤信息??刂婆_查看接口參數(shù)由于CDN控制臺也是通過調(diào)用CDN的API接口來實現(xiàn)對CDN的相關(guān)操作,因此如果對于調(diào)試時調(diào)用接口的參數(shù)有疑問的時候,可以通過控制臺先去設(shè)置相關(guān)的功能,然后通過打開瀏覽器Network去看控制臺具體調(diào)用了什么接口,傳了什么參數(shù),這樣方便理解以便進一步完成自己的開發(fā)工作。以刷新功能為例,在控制臺刷新功能頁面下打開Network,然后執(zhí)行刷新工作,可以看到控制臺調(diào)用了RefreshObjectCaches接口,并且在FormData下面可以看到控制臺調(diào)用該接口發(fā)的參數(shù)。具體可以看下面的圖一和圖二。CDN性能優(yōu)化與安全防護核心課題——學(xué)會從緩存命中率解決看問題簡介:本文詳細介紹旅CDN緩存命中率的概念,分析了無法命中緩存的問題原因以及命中率降低影響因素,并針對命中率降低及如何優(yōu)化做了分析和介紹。提升緩存命中率的意義CDN在靜態(tài)資源加速場景的應(yīng)用,是將靜態(tài)資源緩存在距離客戶端最近的CDN節(jié)點上。用戶訪問該資源時,直接從緩存中獲取資源,避免通過較長的鏈路回源。如果CDN緩存命中率低,則會導(dǎo)致源站壓力大,靜態(tài)資源訪問效率低。因此,CDN緩存命中率的高低直接影響用戶體驗,而保證較高的緩存命中率也成為了CDN的核心課題??梢葬槍?dǎo)致CDN緩存命中率低的具體原因,選擇對應(yīng)的優(yōu)化策略,來優(yōu)化CDN的緩存命中率。CDN緩存命中率包括字節(jié)緩存命中率和請求緩存命中率。字節(jié)緩存命中率=CDN緩存命中響應(yīng)的字節(jié)數(shù)/CDN所有請求響應(yīng)的字節(jié)數(shù)請求緩存命中率=CDN緩存命中的請求數(shù)/CDN所有的請求數(shù)如何判斷緩存是否成功我們可以通過打開瀏覽器審查元素來分析CDN返回的ResponseHeader,其中X-Cache字段來判斷是否命中緩存,具體可以參見如何通過瀏覽器的審查元素判斷CDN緩存是否成功。 在ResponseHeaders字段內(nèi),可以查看詳細的請求和返回的報文信息。Age:為CDN返回的頭部字段,表示該文件在CDN節(jié)-點上緩存的時間,單位為秒。只有文件存在于節(jié)點上Age字段才會出現(xiàn),當(dāng)文件被刷新后或者文件被清除的首次訪問,在此前文件并未緩存,無Age頭部字段,需要注意當(dāng)Age為0時,表示節(jié)點已有文件的緩存,但由于緩存已過期,本次無法直接使用該緩存,需回源校驗。X-Swift-SaveTime:CDN節(jié)點上的緩存RS(swift)的時間,即該文件是在什么時間緩存到CDN節(jié)點上。X-Swift-CacheTime:CDN節(jié)點上的允許緩存時間,即該文件可以在CDN節(jié)點上緩存多久,是指文件在CDN節(jié)點緩存的總時間。計算還有多久需要回源刷新='X-Swift-CacheTime'–'Age'。X-Cache:"HIT"表示已緩存,"MISS"表示節(jié)點上無該文件的緩存,回源請求。為什么無法命中緩存(1)客戶端請求是動態(tài)請求如果請求是動態(tài)請求,則無法命中CDN緩存。當(dāng)客戶端訪問這些動態(tài)內(nèi)容時,每次都需要訪問用戶的服務(wù)器,由服務(wù)器動態(tài)生成實時的數(shù)據(jù)并返回給客戶端。(2)源站返回強制不緩存的HTTP頭當(dāng)源站配置了以下響應(yīng)頭時,即使配置了緩存規(guī)則,CDN也不會對該資源進行緩存,因為這些響應(yīng)頭在CDN緩存規(guī)則中的優(yōu)先級較高。1:有s-maxage=0、max-age=0、no-cache、no-store、private中的任一種。2:有s-maxage或s-maxage=0。3:有Pragma:no-cache。如下圖,源站響應(yīng)了no-cache和private導(dǎo)致CDN無法緩存,X-Cache字段為MISS,X-Swift-CacheTime為0。這種情況需要源站去掉這個HTTP響應(yīng)頭,具體可以參見Nginx緩存策略設(shè)置、Apache緩存策略的設(shè)置、IIS緩存策略的設(shè)置方法。(3)未返回響應(yīng)頭Etag和Last-modified當(dāng)CDN未配置緩存規(guī)則時,如果靜態(tài)文件未返回響應(yīng)頭Etag和Last-mod-ified,則該靜態(tài)文件不能緩存在CDN節(jié)點上。解決方案就是源站配置返回Etag和Last-modified或者直接在CDN上配置緩存規(guī)則。(4)全站加速未配置靜態(tài)加速全站加速默認走了動態(tài)加速,動態(tài)加速是每次回源的。如果需要走緩存的話,需要配置靜態(tài)加速。目前配置靜態(tài)加速支持按照文件類型、URI以及路徑方式配置。如果全站加速沒有配置靜態(tài)加速的情況,則都是走動態(tài)加速的,全站加速節(jié)點響應(yīng)的 HTTP頭沒有X-Cache、X-Swift-CacheTime等字段的,類似如下圖。影響CDN緩存命中率下降的因素影響CDN緩存命中率下降的因素:(1)刷新緩存,可能導(dǎo)致短時間內(nèi)命中率下降。(2)帶寬突增,會導(dǎo)致CDN節(jié)點回源較多,命中率會表現(xiàn)有下降趨勢。(3)CDN節(jié)點訪問新內(nèi)容,導(dǎo)致CDN節(jié)點回源較多,命中率會表現(xiàn)有下降趨勢。(4)緩存規(guī)則調(diào)整,可能會影響命中率。緩存命中率低分析及優(yōu)化CDN控制臺統(tǒng)計的緩存命中率僅僅是CDNL1層的命中率,實際情況L2層的緩存數(shù)據(jù)也是從CDN節(jié)點獲取,并不會從源站獲取數(shù)據(jù),所以真實的CDN命中率是略高于CDN控制臺顯示的命中率。另外查看CDN加速域名流量情況,在加速域名流量不高的情況下,即便MISS狀態(tài)的URL不多,但是對命中率的統(tǒng)計計算影響很大。例如,某CDN加速域名一共對外提供了10個可以訪問的URL,其中有一個URL源站上設(shè)置了no-cache,導(dǎo)致不緩存,在其他URL訪問都命中的情況下,命中率也僅有90%。在之前檢查正常的情況下,有如下幾種可能導(dǎo)致命中率低的情況,請逐一進行排查:(1)源站上緩存Header設(shè)置不當(dāng),或者缺少必要的Header,如果CDN的緩存規(guī)則是不緩存,那么每次訪問都是MISS狀態(tài),影響命中率,具體請參考前文“為什么無法命中緩存”的描述。(2)CDN控制臺設(shè)置了不緩存的規(guī)則,即某目錄或者某種后綴的文件設(shè)置的緩存時間為0秒,相關(guān)信息可以在CDN控制臺查看。(3)源站動態(tài)內(nèi)容較多,目前CDN主要是加速靜態(tài)資源,例如CSS、JS、HTML、圖片、txt、視頻等資源,針對動態(tài)資源PHP、JSP、包含內(nèi)部邏輯處理甚至Cookie等資源都會回源數(shù)據(jù)。(4)CDN的加速URL中帶有可變參數(shù)。例如URL地址為http://XXX.XXX.cn/1.txt?timestamp=14378923,其中timestamp值為時間戳,每次訪問此值均不同。CDN針對第一次訪問的URL,即之前未預(yù)熱的URL,無論該URL是否符合CDN的緩存規(guī)則,由于節(jié)點上還沒有這個文件,第一次訪問肯定都是MISS狀態(tài)。但是timestamp參數(shù)會變化,所以每次訪問都是一個全新的URL,則每次都返回MISS狀態(tài),從而影響命中率。(5)檢查是否存在頻繁刷新緩存的操作。(6)文件熱度不夠。不經(jīng)常被用戶訪問到的URL,即使符合所有緩存規(guī)則,但是 經(jīng)常有被節(jié)點去除緩存的風(fēng)險。CDN節(jié)點上緩存的文件,可以理解為按照熱度屬性采取末尾淘汰制,熱度就是該文件在該節(jié)點上被訪問的頻率,文件熱度不夠,其實一定程度上跟這個域名本身的流量不高有關(guān)系。針對以上情況,可以考慮通過"預(yù)熱URL"、"配置資源緩存規(guī)則"、"過濾URL中可變參數(shù)"來優(yōu)化緩存命中率,具體操作請參見優(yōu)化CDN緩存命中率。流量突增?!CDN幫你分析簡介:當(dāng)CDN出現(xiàn)流量突增、明顯大于業(yè)務(wù)正常范圍流量時,則很可能是被惡意攻擊或者刷流量導(dǎo)致,CDN本身是提供了一些安全防護策略,本文主要介紹如何去定位異常流量來源以及如何去做CDN的安全防護和監(jiān)控。問題分析CDN流量出現(xiàn)突增時,先要檢查是否是有一些業(yè)務(wù)上的推廣導(dǎo)致的流量增加。如果不是業(yè)務(wù)推廣,卻突然產(chǎn)生了大量的異常流量,則很可能是被惡意攻擊或者刷流量導(dǎo)致,需要定位客戶端來源信息來加以防護。通常是借助CDN提供的監(jiān)控統(tǒng)計以及日志來加以分析。CDN控制臺提供了監(jiān)控統(tǒng)計分析,包含七個部分:PV/UV、Top客戶端IP、地區(qū)和運營商、域名排名、熱門Referer、熱門URL、熱門URLs(回源)、域名排行。用戶可以導(dǎo)出原始詳細數(shù)據(jù),如網(wǎng)絡(luò)帶寬、流量、域名按流量占比排名以及訪客區(qū)域、運營商分布等。用戶可以通過這些監(jiān)控統(tǒng)計分析客戶端的來源信息、請求URL、Top客戶端等信息。其中中等是分析Top客戶端IP以及TopReferer信息,具體可以看如下圖 注意:Referer為"-"則表示是空Referer的請求。CDN控制臺的顯示統(tǒng)計分析報表數(shù)據(jù)會有延遲,對于正在發(fā)生的惡意刷流量或攻擊行為,往往無法獲取實時的信息,這種情況下需要借助CDN提供的日志來分析定位客戶端的來源信息。目前CDN提供的日志分為兩種:離線日志和實時日志。(1)離線日志:默認開啟,日志文件延遲一般情況下延遲在24小時之內(nèi),但是也有可能超過24小時。登錄CDN控制臺,下載日志文件,日志相關(guān)字段說明請參日志下載??梢越柚鶯inux命令來分析日志,例如執(zhí)行如下命令,查詢訪問量前十和用同樣的方法可以分析訪問量前10的TopReferer、URL信息,更多請參考(2)實時日志:屬于計費服務(wù),默認不開啟,需要手動開啟,日志數(shù)據(jù)延遲不超過3分鐘。阿里云CDN通過與日志服務(wù)融合,將采集到的實時日志實時推送至日志服務(wù),并進行日志分析。通過日志的實時分析,用戶可以快速發(fā)現(xiàn)和定位問題。除此之外,通過對日志數(shù)據(jù)的挖掘,提高數(shù)據(jù)的決策能力,將您的業(yè)務(wù)推向一個新的高度,更多請參考實時日志幫助文檔。安全防護通過分析出客戶端來源信息以后,可以按照以下處理流程圖來處理(1)配置IP黑白名單:通過監(jiān)控統(tǒng)計分析和日志查看是否存在異常IP地址訪問資源。如果有短時間大量訪問的惡意IP地址,請將IP地址配置為黑名單。 (2)配置Referer防盜鏈:該功能是根據(jù)HTTP請求的Referer字段來對請求來源的域名進行篩選和鏈接。CDN支持三種防盜鏈設(shè)置:白名單、黑名單以及是否允許空refer。防盜鏈功能主要通過URL過濾的方法對來源Host的地址進行過濾,其中黑名單和白名單只能有一種生效,可以將惡意Referer加入黑名單或?qū)⒄I(yè)務(wù)Referer加入白名單,通過該功能可以對請求來源進行限制。(3)配置頻次控制:如果惡意IP量比較大且不固定,不容易配置IP黑名單,可以考慮配置頻次控制??梢愿鶕?jù)實際場景自定義配置頻次控制功能,設(shè)定單位時間內(nèi)單IP訪問頻次超過設(shè)定的閾值則觸發(fā)阻斷,通過頻次控制功能,可以秒級阻斷訪問該網(wǎng)站的請求,提升網(wǎng)站的安全性。(4)配置URL鑒權(quán):URL鑒權(quán)功能主要用于保護用戶站點的資源不被非法站點下載盜用。通過防盜鏈方法添加Referer黑名單和白名單的方式可以解決一部分盜鏈問題,由于Referer內(nèi)容可以偽造,所以Referer防盜鏈方式無法徹底保護站點資源。因此,可以采用URL鑒權(quán)方式保護源站資源更為安全有效。(5)配置UA黑白名單:可以通過配置User-Agent黑名單和白名單來實現(xiàn)對訪客身份的識別和過濾,從而限制訪問CDN資源的用戶,提升CDN的安全性。安全加速阿里云CDN是公共的加速服務(wù),承載著成千上萬的域名加速,默認不提供抗攻擊能力。所以當(dāng)用戶域名遭受大量攻擊時,CDN系統(tǒng)會自動將對應(yīng)域名切入沙箱,防止影響其他正常用戶的加速服務(wù),域名進入沙箱后,服務(wù)質(zhì)量不再保證且無法恢復(fù),因此做好防護工作十分重要。(1)對于CC攻擊,可以考慮配置WAF防護功能,使用CDNWAF功能不能解決惡意刷流量問題,但是可以防數(shù)據(jù)泄密,避免因黑客的注入入侵攻擊,導(dǎo)致網(wǎng)站核心數(shù)據(jù)被拖庫泄露;阻止木馬上傳網(wǎng)頁篡改,保障網(wǎng)站的公信力;提供虛擬補丁,針對網(wǎng)站被曝光的最新漏洞,最大可能地提供快速修復(fù)規(guī)則。?!(2)如果域名經(jīng)常遭受攻擊,可以根據(jù)自身業(yè)務(wù)需求考慮使用SCDN來做安全加速。SCDN(SecureContentDeliveryNetwork即擁有安全防護能力的CDN服務(wù),提供穩(wěn)定加速的同時,深度集成抗DDoS、CC攻擊的防護功能?;诎⒗镌骑w天平臺的計算能力,使用深度學(xué)習(xí)的算法,智能預(yù)判攻擊行為,通過智能的調(diào)度系統(tǒng)將DDoS惡意請求平滑切換至高防IP完成清洗,保護源站。系統(tǒng)監(jiān)控CDN被惡意刷流量導(dǎo)致流量異常時,會產(chǎn)生一定的經(jīng)濟損失,因此建議提前做好監(jiān)控和安全防護工作。通常我們可以通過CDN的帶寬封頂功能以及云監(jiān)控的閾值報警功能來做監(jiān)控。帶寬封頂功能是指當(dāng)統(tǒng)計周期(5分鐘)產(chǎn)生的平均帶寬超出設(shè)置的帶寬最大值時,為了保護CDN域名安全,此時域名會自動下線,所有的請求會回到源站,CDN將停止加速服務(wù),避免異常流量給用戶帶來的異常消費。域名下線后,可以在控制臺重新啟用該域名,具體請參考帶寬封頂。注:因為觸發(fā)帶寬封頂以后域名會停止CDN加速,域名會解析到源站,因此相當(dāng)于會把源站地址暴露出去,這里也帶寬安全隱患,因此建議根據(jù)實際情況考慮使用啟用該功能。結(jié)合阿里云的云監(jiān)控服務(wù),通過設(shè)置云監(jiān)控的報警功能,可以設(shè)置帶寬峰值和下行流量的報警規(guī)則。當(dāng)流量達到閾值時,系統(tǒng)自動通過電話、短信、郵件等方式通知用戶,請及時采取措施。登錄云監(jiān)控控制臺,依次選擇【報警服務(wù)】>【報警規(guī)則】>【閾值報警】>【創(chuàng)建報警規(guī)則】,選擇產(chǎn)品CDN以后去設(shè)定規(guī)則。創(chuàng)建針對CDN的報警規(guī)則,詳情請參見創(chuàng)建閾值報警規(guī)則。最佳實踐——運維仔教你優(yōu)化加速簡介:使用CDN加速以后還是存在訪問慢的情況,如何去分析定位問題、優(yōu)化網(wǎng)站速度、解決用戶問題是一個十分重要的課題。本文介紹了CDN加速訪問慢的分析思路,通過歸納的一些原因結(jié)合搜集的信息去進一步判斷定位問題,幫助用戶在遇到問題時有一個更清晰的思考方法論。同時介紹了一些典型的問題場景,結(jié)合這些問題場景可以更快速的去發(fā)現(xiàn)問題并優(yōu)化。問題背景運維技術(shù)人員使用CDN加速以后發(fā)現(xiàn)還是有用戶反饋訪問慢的情況,而實際造成訪問慢的影響因素很多,如何去分析定位問題、優(yōu)化網(wǎng)站速度、解決用戶問題是一個十分重要的課題。分析思路正所謂“工欲善其事,必先利其器”,在排查分析問題前,了解CDN的加速原理十分重要,它將有助于幫助你如何去思考和分析問題存在的可能原因。簡單來說,CDN主要是通過在現(xiàn)有網(wǎng)絡(luò)中增加一層新的緩存節(jié)點,將網(wǎng)站服務(wù)器的資源發(fā)布到最接近用戶的網(wǎng)絡(luò)節(jié)點,使得用戶側(cè)客戶端在請求時直接訪問到就近的CDN節(jié)點并命中該資源,減少回源情況,提高網(wǎng)站訪問速度。因此,造成訪問慢的可能原因可以簡單歸納為以下幾個方向:1.客戶端本地網(wǎng)絡(luò)因素,比如客戶端下行帶寬不足、DNS配置錯誤等2.客戶端到CDN節(jié)點之間的網(wǎng)絡(luò)不佳,網(wǎng)絡(luò)延遲高3.CDN節(jié)點異常,響應(yīng)速度慢4.資源內(nèi)容比較大,導(dǎo)致下載比較耗時5.CDN回源到源站時,回源網(wǎng)絡(luò)不佳6.源站本身響應(yīng)速度慢通過搜集一些問題現(xiàn)象和信息,我們可以進一步再繼續(xù)往下分析,確定一下初步的排查方向,這也是一個非常重要的環(huán)節(jié)。(1)可以先確認下是全網(wǎng)都存在訪問慢的問題,還是只是個別用戶訪問慢,亦或是某一個地區(qū)、某一個運營商的用戶訪問慢。可以借助一些基調(diào)探測平臺去探測,免費平臺推薦17測。付費平臺可以考慮“聽云”、“博?!钡忍綔y平臺去探測,這些平臺可以設(shè)定某一地區(qū)、某一運營商網(wǎng)絡(luò)的探測機器去探測,精準性更高。如果只是極個別用戶訪問不佳,那么可能跟用戶側(cè)的網(wǎng)絡(luò)有強相關(guān)性,很可能就是用戶側(cè)的網(wǎng)絡(luò)問題異常用戶是否有集中性,比如某市大量移動用戶訪問異常,而該市聯(lián)通和電信用戶訪問正常。這種情況就有可能跟該地區(qū)的運營商網(wǎng)絡(luò)有一定關(guān)聯(lián),可以使用一些基調(diào)工具,用該地區(qū)的一些探測機器去探測一下如果全網(wǎng)用戶都存在訪問慢的問題,那就很有可能是源站響應(yīng)問題或者是一些配置方面的問題了,因為幾乎不可能同時所有的CDN節(jié)點或者所有地區(qū)的網(wǎng)絡(luò)都處問題了。比如是不是加速區(qū)域選擇的不對,是不是動態(tài)請求或者無法緩存的請求,源站響應(yīng)慢,需要重點往這方面考慮了(2)確認下訪問慢或者異常的請求是否被CDN緩存了如果是命中CDN緩存的請求,那么就不存在CDN回源了,因此CDN會直接把節(jié)點上的緩存數(shù)據(jù)返回給客戶端,這種情況就和源站沒什么關(guān)系了如果是沒有命中緩存,那么需要重點看是客戶端到CDN慢了,還是源站響應(yīng)慢了衡量指標使用CDN加速,除了通用的數(shù)據(jù)觀測指標外,不同的場景下也有更具體的指標。觀測這些指標,不僅可以幫助用戶體驗CDN加速的效果,也能觀測自身業(yè)務(wù)使 用CDN的情況,幫助您更好地做出調(diào)整和決策。阿里云CDN官方幫助文檔中心提供了CDN的衡量指標的介紹文檔。信息搜集我們知道一次完整的HTTP請求需要經(jīng)過DNS解析-->TCP建連-->SSL握手(HTTPS需要SSL握手)-->客戶端發(fā)送請求-->服務(wù)端響應(yīng)請求的過程,了解HTTP請求的過程將有助于我們更深層次的去分析問題,因此在客戶端側(cè)搜集一些信息很有必要,通常可以搜集以下的幾點信息(1)搜集客戶端網(wǎng)絡(luò)情況和CDN節(jié)點IP在客戶端側(cè)ping加速域名,確認是否正確解析到CDN,以及客戶端到CDN節(jié)點之間網(wǎng)絡(luò)是否是通的,網(wǎng)絡(luò)延遲如何。如果無法ping通,則還需要做一些鏈路診斷,具體可以參考這里的鏈路診斷方法。如果是手機側(cè),則需要借助一些第三方的應(yīng)用來協(xié)助診斷,例如Android手機可以用“網(wǎng)絡(luò)萬用表”,iOS可以用iNetTools。(2)搜集客戶端IP和LocalDNSCDN的節(jié)點調(diào)度策略是根據(jù)客戶端的LocalDNS來分配調(diào)度的,因此確認客戶端的LocalDNS是否設(shè)置正確非常重要??梢酝ㄟ^客戶端訪問這個地址來獲取客戶端IP以及客戶端DNS:/https/doc.html(3)找到訪問慢的URL可以打開瀏覽器開發(fā)者模式,切換到Network標簽頁,輸入URL以后可以在Network標簽頁下看到瀏覽器發(fā)出的所有的HTTP請求。點擊“Time”選項按照時間來排序,看具體是哪些請求慢了,找到這個訪問慢的URL特別注意:通常情況下一個網(wǎng)站加載的資源比較多,當(dāng)然這里可能還有一些非CDN加速的一些URL,有時候可能存在一些非CDN的資源訪問慢,而CDN加速的資源都訪問快,但是就是這些非CDN加速的資源加載慢導(dǎo)致整個網(wǎng)站響應(yīng)速度變慢。因此根據(jù)Time排序來確認到底是哪些URL訪問慢了很重要。(4)搜集HTTP請求的請求頭和響應(yīng)頭單擊訪問慢的HTTP請求Name值,在Headers標簽下可以看到這次請求的General、ResponseHeaders和RequestHeaders信息。通過請求頭和響應(yīng)頭,我們可以了解這次請求是否是一個靜態(tài)請求,是否命中了緩存等信息。 如果是手機4G慢,則需要在手機側(cè)抓包來獲取信息了,這個一般用戶可能會有一些困難??梢钥紤]手機開熱點,PC連接熱點,這樣就可以在PC上搜集信息了。(5)搜集HTTP請求的Timing信息Timing標簽中可以顯示資源在整個請求生命周期過程中各部分時間花費信息。對于Timing里的信息介紹可以參考下這個介紹。常見案例在了解CDN的加速原理、HTTP請求過程的基礎(chǔ)下,結(jié)合問題現(xiàn)象做一個初步分析,然后根據(jù)搜集到的客戶端側(cè)的信息一起判斷,基本已經(jīng)可以大致的發(fā)現(xiàn)或定位一些問題了。下面我們來介紹一些典型的問題案例。案例一客戶端到CDN節(jié)點網(wǎng)絡(luò)質(zhì)量不佳客戶端ping加速域名網(wǎng)絡(luò)延遲大,甚至丟包,這種情況需要搜集客戶端的IP、客戶端的DNS以及ping截圖、mtr截圖信息。因為CDN調(diào)度節(jié)點是通過客戶端的DNS來分配調(diào)度的,根據(jù)客戶端IP、DNS以及CDN節(jié)點可以判斷調(diào)度是否異常,通過ping以及mtr截圖可以看到網(wǎng)絡(luò)延遲以及具體延遲在哪個網(wǎng)絡(luò)鏈路節(jié)點。通常這類情況可能有以下幾種情況:(1)加速區(qū)域設(shè)置錯誤比如中國大陸的用戶被解析到了海外的節(jié)點,或者海外用戶被解析到國內(nèi)。這種情況建議將加速區(qū)域設(shè)置為“全球加速”。如果CDN的加速區(qū)域選擇的是“僅中國大陸”,那么該域名的調(diào)度域就只有中國大陸的CDN節(jié)點,海外用戶訪問的時候也會調(diào)度到中國大陸的CDN節(jié)點如果加速區(qū)域選擇的是“全球(不包含中國大陸)”,那么該域名的調(diào)度域里就只有海外的CDN節(jié)點,中國大陸用戶也會請求到海外的CDN節(jié)點(2)客戶端DNS設(shè)置錯誤例如一個廣東移動的用戶,用了聯(lián)通的DNS,則會導(dǎo)致該用戶被調(diào)度到聯(lián)通CDN節(jié)點上,存在跨運營商的情況例如一個廣東移動的用戶,用了哈爾濱移動的DNS,則會導(dǎo)致該用戶被調(diào)度到哈爾濱移動的CDN節(jié)點上,遠距離調(diào)度拉長了網(wǎng)絡(luò)鏈路。這種場景需要用戶側(cè)修改使用對應(yīng)所在地對應(yīng)運營商的DNS。說明:如果加速區(qū)域和DNS設(shè)置正確,在CDN正確分配調(diào)度的情況下,網(wǎng)絡(luò)質(zhì)量還是差,那就需要搜集traceroute和mtr信息來進一步診斷了 CDN在靜態(tài)資源加速場景的應(yīng)用,是將靜態(tài)資源緩存在距離客戶端最近的CDN節(jié)點上。用戶訪問該資源時,直接從緩存中獲取資源,避免通過較長的鏈路回源。如果CDN緩存命中率低,則會導(dǎo)致源站壓力大,靜態(tài)資源訪問效率低。因此,CDN緩存命中率的高低直接影響用戶體驗,而保證較高的緩存命中率也成為了CDN的核心課題??梢葬槍?dǎo)致CDN緩存命中率低的具體原因,選擇對應(yīng)的優(yōu)化策略,來優(yōu)化CDN的緩存命中率。我們可以通過CDN返回的ResponseHeader里的X-Cache字段來判斷是否命中緩存X-Cache字段:MISS表示未命中緩存,是回源處理的;HIT表示命中了CDN的緩存,直接讀取的緩存數(shù)據(jù)。X-Swift-CacheTime字段:表示CDN節(jié)點上的允許緩存時間,即該文件可以在CDN節(jié)點上緩存多久,如果是0表示該請求無法緩存。通常的一些現(xiàn)象和優(yōu)化方案如下(1)首次訪問資源慢,第二次訪問正常首次訪問會比直接訪問源站相對還慢些,因為第一次CDN節(jié)點沒有緩存,要回源取數(shù)據(jù)。此情況推薦使用【預(yù)熱】功能,將源站的內(nèi)容主動預(yù)熱到CDN節(jié)點上,用戶首次訪問可直接命中緩存,提高加載速度。(2)資源訪問量較低,文件熱度不夠,CDN收到請求較少無法有效命中緩存CDN節(jié)點作為所有使用CDN的用戶公用的節(jié)點資源,因此CDN配置的緩存規(guī)則表示了該資源在CDN上的緩存最長時間,如果您的CDN加速域名流量較低,則可能提前從CDN節(jié)點的緩存中清除。即緩存按照熱度屬性采取末尾淘汰制。熱度是指文件在節(jié)點上被訪問的頻率,文件熱度不夠,被提前剔除。(3)緩存配置不合理,緩存時間過短,CDN節(jié)點頻繁回源。當(dāng)CDN未配置緩存規(guī)則時,如果靜態(tài)文件未返回響應(yīng)頭Etag和Last-mod-ified,則該靜態(tài)文件不能緩存在CDN節(jié)點上。優(yōu)化方案是需要源站配置這兩個響應(yīng)頭,或者考慮在CDN側(cè)配置緩存規(guī)則。當(dāng)CDN未配置緩存規(guī)則時,CDN用的是默認緩存策略,緩存時間很短,最長不超過3600秒,因此容易造成頻繁過期回源的情況,建議可以根據(jù)業(yè)務(wù)情況到CDN側(cè)設(shè)置合理的緩存時間。當(dāng)源站配置了一些強制不緩存的Cache-Control的響應(yīng)頭時,即使您配置了緩存規(guī)則,CDN也不會對該資源進行緩存,因為這些響應(yīng)頭在CDN緩存規(guī)則中的優(yōu)先級較高。以下有"s-maxage=0"、"max-age=0"、"no-cache"、"no-store"、"private"、"Pragma:no-cache"中的任一種,都會導(dǎo)致CDN無法緩存,需要源站側(cè)去修改這些響應(yīng)頭,比如修改成Public等可以被緩存的響應(yīng)頭。參考文檔:設(shè)置Nginx緩存策略(4)URL帶可變參數(shù)訪問資源的URL帶參,并且參數(shù)不斷變化,當(dāng)用不同的URL去訪問CDN的 時候,CDN會認為這是一個新請求(即便這兩個不同的URL其實是訪問到了同一個文件,并且該文件已經(jīng)緩存在節(jié)點上還是會回源去拉取所請求的內(nèi)容,建議開啟【過濾參數(shù)】功能。(5)大文件Range回源對于一些大文件,建議開啟Range回源來優(yōu)化回源如果訪問慢的請求是一個動態(tài)請求,當(dāng)客戶端訪問這些動態(tài)內(nèi)容時,每次都需要訪問用戶的服務(wù)器,由服務(wù)器動態(tài)生成實時的數(shù)據(jù)并返回給客戶端。這種場景下,CDN無法緩存實時變化的動態(tài)內(nèi)容,因此CDN的緩存加速不適用于加速動態(tài)內(nèi)容。對于動態(tài)內(nèi)容請求,CDN節(jié)點只能轉(zhuǎn)發(fā)回源站服務(wù)器,沒有加速效果。如果用戶的網(wǎng)站或App應(yīng)用有較多動態(tài)內(nèi)容,例如需要對各種API接口進行加速,可以考慮如下方案(1)做動靜分離,靜態(tài)資源用CDN域名來加速,動態(tài)請求用另一個直接解析到源站的域名來訪問(2)考慮使用全站加速來加速動態(tài)請求。不過要注意的是,全站加速對于動態(tài)請求的加速是通過阿里云的路由優(yōu)化、傳輸優(yōu)化等動態(tài)加速技術(shù)以最快的速度訪問您的服務(wù)器源站獲取數(shù)據(jù),是一個四層鏈路的優(yōu)化,如果源站服務(wù)器本身響應(yīng)速度就很慢,那這種情況還是需要優(yōu)化源站。訪問慢的請求是一個不緩存的請求,或者是一個動態(tài)請求,CDN都是回源處理的,如果源站的響應(yīng)速度非常慢,則會導(dǎo)致最終響應(yīng)的速度慢。這種情況可以直接本地綁定Host到源站去測試源站的響應(yīng)速度。這種情況一般可能有以下情況:(1)源站性能限制,本身處理速度比較慢,比如源站的帶寬、CPU等達到瓶頸,或者源站程序處理速度慢等,需要考慮優(yōu)化源站。如果是性能不足則需要對源站擴容。(2)源站側(cè)網(wǎng)絡(luò)比較差,或者源站涉及到跨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論