N NaSpace

记录某一cloudflare workers反代域名代码

作者:admin · 更新于 2026-09-01 10:27:32

const TARGET_URL = '你需要反代代域名';

export default {
async fetch(request) {
const url = new URL(request.url);
const target = new URL(TARGET_URL);

url.protocol = target.protocol;
url.hostname = target.hostname;
url.port = target.port;

// 获取用户真实 IP
const realIP = request.headers.get('CF-Connecting-IP')
|| request.cf?.requestIp
|| '';

const headers = new Headers(request.headers);

// 移除 Cloudflare 内部头
const cfHeaders = [
'CF-Ray', 'CF-Visitor', 'CF-Worker',
'CF-IPCountry', 'CF-Timezone', 'CF-Organization',
'CF-Cache-Status', 'CF-Request-ID',
];
for (const h of cfHeaders) {
headers.delete(h);
}

// 设置真实 Host 和 IP 相关头
headers.set('Host', target.host);
headers.set('X-Forwarded-For', realIP);
headers.set('X-Real-IP', realIP);
headers.set('CF-Connecting-IP', realIP);

const proxyReq = new Request(url, {
method: request.method,
headers,
body: ['GET', 'HEAD'].includes(request.method) ? null : request.body,
redirect: 'manual',
});

return fetch(proxyReq);
},
};

Comments

评论

暂无评论,欢迎留下第一条想法。