在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  網(wǎng)絡(luò)安全/ 結(jié)合工作實(shí)踐說說CDN

結(jié)合工作實(shí)踐說說CDN

優(yōu)點(diǎn)

(1)緩存資源
(2)將靜態(tài)資源托管到CDN可以使訪問資源加速
(3)源網(wǎng)站負(fù)載減輕,所以受 DDOS 攻擊的可能性較小

原理

CDN服務(wù)器 = 緩存 + DNS負(fù)載均衡
第一次訪問資源后,源站數(shù)據(jù)會(huì)緩存在 CDN 服務(wù)器,下一次用戶需要訪問該節(jié)點(diǎn)的時(shí)候,直接在 CDN 的緩存節(jié)點(diǎn)中找到該數(shù)據(jù)
第一次訪問資源之前,把熱門數(shù)據(jù)先存到 CDN 上,這叫“資源預(yù)熱”,防止第一次訪問源站要一次性承受大量的請(qǐng)求,否則源站很有可能會(huì)掛掉

使用技巧
(1)緩存設(shè)置

使用 max-age 進(jìn)行緩存設(shè)置,默認(rèn)設(shè)置的是代理服務(wù)器的緩存時(shí)間和本地緩存時(shí)間。如果我們不希望 CDN 服務(wù)器緩存時(shí)間過久,可以使用 s-maxage 進(jìn)行設(shè)置,將會(huì)覆蓋掉 max-age。這樣可以有效避免臟數(shù)據(jù)的產(chǎn)生

(2)緩存命中率控制

如果你托管到 CDN 上的靜態(tài)資源是經(jīng)常發(fā)生變化的,那就不要托管到 CDN 上邊了

(3)x-cache-lookup

值里包含 hit, upstream 則沒有命中

(4)md5 簽名

請(qǐng)問:這是什么鬼,我們項(xiàng)目中總會(huì)用到,但是目前還搞不懂這是啥

-------------------------------謝謝ezmo大神給出的答案--------------------------------

md5 是用來干啥用的

就是版本號(hào),刷新緩存用的
有的是防止惡意回源的,和CDN那邊達(dá)成協(xié)議,每次請(qǐng)求CDN會(huì)攜帶某些信息MD5加密后回源。這樣黑客即便嗅探到源IP,直接解析過去,也是不能正常用的。(又拍云的有這功能,可以去了解下~)
有的是驗(yàn)證請(qǐng)求鏈接是不是被改了。
有的純刷存在感
大多數(shù)是用來標(biāo)識(shí)緩存的

回答
編輯回答
乖乖噠

你的問題之前有人回答過的, 戳此,簡(jiǎn)而言之,一般是為了防止cdn的鏈接地址被人手工構(gòu)造,從而減輕cdn被人惡意創(chuàng)建緩存的幾率。

P.S.

cdn服務(wù)器自己構(gòu)造的地址一般是 url+自己的密鑰,然后md5加密一下放在url中一起返回,形如 https://cdn.some.com/test111.png?v=234242342&md5=d63d0b4fabf9e99002d0e0641c4ddfce
這個(gè)密鑰對(duì)外是保密的,
用于cdn服務(wù)端接收到請(qǐng)求驗(yàn)證url的合法性時(shí)使用,即取出url中的https://cdn.some.com/test111.png?v=234242342 + 密鑰字符串,一起用md5加密后,看看是不是等于url中的md5簽名,相等則證明這個(gè)url請(qǐng)求是合法的,否則認(rèn)為是客戶端自己編造的。
2018年8月4日 03:02