1. 首页>
  2. 技术文章>
  3. 使用CloudFlare的Worker做反向代理

使用CloudFlare的Worker做反向代理

8/20/24 8:14:05 PM 浏览 988 评论 0

CloudFlare 反向代理

worker.js的内容很简单,如下:

const TELEGRAPH_URL = 'https://openai.com';
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
  const url = new URL(request.url);
  url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');
  const modifiedRequest = new Request(url.toString(), {
    headers: request.headers,
    method: request.method,
    body: request.body,
    redirect: 'follow'
  });
  const response = await fetch(modifiedRequest);
  const modifiedResponse = new Response(response.body, response);
  //添加允许跨域访问的响应头
  modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
  return modifiedResponse;
}

上面换成你自己要转向的域名,如果涉及到访问国外限制网站的话,那么还需要使用自定义域名做绑定。

网友讨论