cloudflare 代理配置

来自 “不做了睡觉” 教程

workers 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const TELEGRAPH_URL = 'https://api.openai.com';

addEventListener('fetch', (event) => {
event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
// 安全校验
if (request.headers.get('auth') !== 'auth_code') {
return new Response('UnAuthorization', { status: 403 });
}

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;
}

对应的环境变量
务必别忘了填 v1

1
2
OPENAI_BASE_URL=https://xxxxxx/v1
OPENAI_BASE_URL_AUTH=auth_code