// 映射 URL 和对应的目标网址
const urlMappings = {
'https://xxx.xxx.workers.dev/xxx1': 'https://api.xxx.io/1xxx/xxx/xxx',
'https://xxx.xxx.workers.dev/xxx2': 'https://api.xxx.io/2xxx/xxx/xxx',
};
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
const url = new URL(request.url);
// 根据请求 URL 查找映射的目标网址
const targetUrl = urlMappings[url.href];
// 检查是否存在目标网址的映射
if (targetUrl) {
// 构建代理请求
const proxyRequest = new Request(targetUrl, {
method: request.method,
headers: request.headers,
body: request.body,
redirect: 'follow',
});
// 发送代理请求并返回响应
return fetch(proxyRequest);
} else {
// 没有找到匹配的映射,返回自定义的响应
return new Response('URL mapping not found', { status: 404 });
}
}
可以根据不同的/url 代理对应的其他网址url,
如果使用自定义域名,修改域名为自定义域名