百度云加速的邊緣計(jì)算功能開放已經(jīng)有一段時(shí)間了,不過這功能要求有開發(fā)能力或有代碼維護(hù)能力的客戶才可以玩得轉(zhuǎn),很遺憾主機(jī)吧完全沒有。
據(jù)說如果會(huì)玩這功能的,可以有效的給自己服務(wù)器減壓,使訪問流量大部分都走邊緣節(jié)點(diǎn),提高訪問速度,對(duì)應(yīng)對(duì)流量攻擊也非常好。
雖然高端的我們不會(huì)玩,普通的我們還是可以的,比如自義錯(cuò)誤頁(yè),很多站長(zhǎng)之前就抱怨使用云加速后,錯(cuò)誤頁(yè)都顯示百度云加速默認(rèn)的錯(cuò)誤頁(yè)了。今天我們來(lái)教大家如何使用邊緣計(jì)算功能來(lái)達(dá)到自義錯(cuò)誤頁(yè)的目的。
首先我們進(jìn)入控制臺(tái),我的函數(shù),添加,函數(shù)名字隨便寫,比如這邊就寫cuowuye
確定后點(diǎn)編輯
/**
* 該示例展示了如果針對(duì)不同的 HTTP CODE 返回不同的頁(yè)面。
*
*/// 在workers代碼里固化的錯(cuò)誤頁(yè)面
const ErrorPageLocal500 = `
<!DOCTYPE html>
<html>
<body>
<h1>Error Page</h1>
<p>這是錯(cuò)誤頁(yè),請(qǐng)重新訪問……</p>
</body>
</html>
`
// 指定的錯(cuò)誤頁(yè)面
const ErrorPageURL400 = ‘http://errorpage.example.com’async function rawHtmlResponse(html) {
const init = {
headers: {
‘content-type’: ‘text/html;charset=UTF-8’,
},
}
return new Response(html, init)
}async function handleRequest(request) {
const response = await fetch(request)
// 如果請(qǐng)求成功,則返回請(qǐng)求結(jié)果
if (response.status == 200)
return response
// 如果請(qǐng)求返回的狀態(tài)碼是400,返回400對(duì)應(yīng)的錯(cuò)誤頁(yè)面
else if (response.status == 400)
return await fetch(ErrorPageURL400)
// 如果請(qǐng)求返回的狀態(tài)碼是500,返回500對(duì)應(yīng)的錯(cuò)誤頁(yè)面
else
return rawHtmlResponse(ErrorPageLocal500)
}addEventListener(‘fetch’, event => {
event.respondWith(handleRequest(event.request))
})
如下圖:
完成后,我們返回,然后點(diǎn)擊域名,進(jìn)入域名管理, 邊緣計(jì)算,添加觸發(fā)規(guī)則
匹配內(nèi)容:寫你的域名并加上通配符,比如我們測(cè)試域名www.sudujun.com/*
執(zhí)行函數(shù):點(diǎn)下拉找到剛才添加的錯(cuò)誤頁(yè)函數(shù)
完成保存,我們?cè)贉y(cè)試下,
比如我們隨便輸入地址www.sudujun.com/hgdhghdkgh ,這是一個(gè)明顯的錯(cuò)誤頁(yè),因?yàn)檫@個(gè)頁(yè)面根本不存在的,我們?cè)倏葱Ч?/p>