如何解决Cloudflare工人地理位置
我们有一个Cloudflare Enterprise计划,并希望将regionCode(状态缩写)传递到报头响应中并返回给客户端。 Cloudflare请求是req.cf.regionCode,但是由于任何原因,当我尝试将其分配给变量时,都会不断出现错误,因此语法有问题。
最终标头输出应为:
状态:CA(将显示客户端IP查找中的状态缩写,在这种情况下为加利福尼亚)
addEventListener("fetch",event => {
event.respondWith(fetchAndReplace(event.request))
})
async function fetchAndReplace(request) {
const res = await fetch(request)
let modifiedHeaders = new Headers()
let state = (req.cf.regionCode)
modifiedHeaders.set('Content-Type','text/html')
modifiedHeaders.append('Pragma','no-cache')
modifiedHeaders.append("state",`${state}`)
//Return maint page if you're not calling from a trusted UA
if (request.headers.get("User-Agent") !== "Preprod")
{
// Return modified response.
return new Response(maintPage,{
status: 503,headers: modifiedHeaders
})
}
else //Allow users from trusted into site
{
//Fire all other requests directly to our WebServers
return fetch(request)
}
}
let maintPage = `
This is a test
`;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。