I have a domain A.tk
in the Cloudflare, and I have a server that cannot use the port 80 with domain A.top
. The only way to visit A.top
is A.top:61445
, so I try to fetch('A.top:61445')
in Cloudflare worker, and change the response when visiting A.tk
. Everything is OK in the worker but not in the browser, where is the problem?Is it might cause of ICP?(I haven't get it)
async function handleRequest(request) {
if(request.url.toString().indexOf('learn')!=-1)
{
let path = request.url.replace('.tk/', '.top:61445/')
path = path[-1]=='/'?path:path+'/'
let real = fetch(path)
console.log(real.url) //why is undefined
return real
}
else
{
let path = request.url.replace('.tk/', '.top/')
return fetch(path)
}
}
addEventListener('fetch', async event => {
event.respondWith(handleRequest(event.request))
})
Cloudflare doesn't allow such port...