由于某个站点国内打不开我想用完首尔的服务器反代理一下
但是遇到cf提示了
首尔服务器可以正常打开那个站点
想问一下怎么解决
用的1panel反向的
有没有可能,这个网站首尔也打不开
可以打开的正常打开
我也觉得,应该是那个地区,没有记录,建议给出url让大伙试试
fish.audio这是网址
看了itdog,这人应该使用了反代ip优选的cf,然后他国内的反代ip全炸了 (ping了一下,全被墙了)
不想用梯子就直接反代用
只是把国内的关了所以才想反代
你直接用cf worker反代就好了啊,绑定一个自定义域名,国内就随便访问了
export default {
async fetch(request, env) {
try {
const replacementDomain = env.REPLACEMENT_DOMAIN;
if (!replacementDomain) {
return new Response('Replacement domain not configured', { status: 500 });
}
const originalUrl = new URL(request.url);
originalUrl.host = 'fish.audio';
const modifiedRequest = new Request(originalUrl, request);
const response = await fetch(modifiedRequest);
if ([301, 302, 307].includes(response.status)) {
let location = response.headers.get('Location');
if (location && location.includes('fish.audio')) {
location = location.replace('fish.audio', replacementDomain);
const filteredHeaders = filterHeaders(response.headers, ['Location']);
filteredHeaders.set('Location', location);
return new Response(null, {
status: response.status,
statusText: response.statusText,
headers: filteredHeaders,
});
}
}
const contentType = response.headers.get('Content-Type') || '';
if (contentType.includes('text/html')) {
let body = await response.text();
body = body.replace(/fish\.audio/g, replacementDomain);
const newHeaders = new Headers(response.headers);
newHeaders.delete('Content-Length');
return new Response(body, {
status: response.status,
statusText: response.statusText,
headers: newHeaders,
});
}
return response;
} catch (error) {
return new Response('Internal Server Error', { status: 500 });
}
},
};
function filterHeaders(headers, allowed) {
const result = new Headers();
for (const [key, value] of headers.entries()) {
if (allowed.includes(key)) {
result.append(key, value);
}
}
return result;
}
环境变量里设置 REPLACEMENT_DOMAIN
为你的自定义域名。
他这个网站挺奇怪的itdog国外是500报错
等等,这个提示不是源网站的提示,是提示你的域名(fish.lunt.pro)没有解析,刚刚才发现
解析了只是反代他这个家提示cf的信息
怎么搞的啊大佬
这不是我站啊
你的不是反代是重定向,我访问fish.lunt.pro这个然后被301重定向了