使用 cf workers 写了一个服务, 但是域名(workers.dev)被墙, 想用一台没有被墙的服务器来将请求转发到 workers 上, 这样直接请求 ip 就可以了. 以下是我 nginx 的配置:
server
{
listen 80;
location / {
proxy_pass https://xxxxx.xx.workers.dev/;
proxy_set_header Host xxxxx.xx.workers.dev;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
重启 nginx 后, 请求 ip 返回 502.
自己 0 运维经验, 搜了下大概是因为 https 的问题? 但尝试配置证书也都无效. 或者是因为 cf 5 秒盾的问题?
所以 nginx 可以实现转发么? 或者有其他方案?
1
huyoa 2023-03-14 16:57:55 +08:00
|
2
dingyi9257 2023-03-14 16:59:11 +08:00 via Android 1
Custom Domains
|
3
defunct9 2023-03-14 17:00:11 +08:00
开 ssh ,让我上去看看
|
4
brader 2023-03-14 17:04:06 +08:00
1 楼说的也是不对的,其介绍的 https 情况,是针对 客户端->代理服务器的 https 配置,而你的应用中,没有一定要 https 来访问自己的代理端
|
6
gam2046 2023-03-14 17:15:29 +08:00
#2 是正解,自定义域名可解,而且速度还不错的。
|
7
brader 2023-03-14 17:22:20 +08:00
@gam2046 这个结论过于武断。chatgpt 的地址被墙了,我就亲身配置了:
``` server { listen 88; location / { proxy_pass https://api.openai.com$request_uri; } } ``` 客户端使用的 ip+端口在调用,目前服务一直正常 |
8
brader 2023-03-14 17:25:16 +08:00
楼主,我建议你换个端口尝试先,不要用 80 、443 ,因为 nginx 默认监听 80 端口(当然,我不确定你是否删除了默认配置),没有域名的区分,很可能给你解析到其他地方去了,所以换一个端口号来区分。
当然,这只是一个尝试建议,没看到日志前,不确定是这个原因 |
10
gam2046 2023-03-14 17:29:58 +08:00
@brader workers 往外访问墙什么。只是客户端到 workers 之间连接被阻断了,通过自定义域名绑定 workers 就可以解决了呀。sni 阻断,不是整个 cf ip 被阻断了。
非要自己反代当然是可以的,只是没必要。dashboard 鼠标点两下的事情,全程不用三分钟。 |
11
brader 2023-03-14 17:30:20 +08:00
@FaiChou 我并不知道你说的 cf 5 秒盾 是什么意思,你可以先尝试我上面说的换端口,如果还不行,建议打开 nginx 详细日志查看
|
12
brader 2023-03-14 17:32:53 +08:00
@gam2046 抱歉,那是我误会你的意思了,我以为你说的是反向代理也要监听域名才行。我只懂技术方面的问题,cf workers 是什么我并不清楚,它如何工作我也不清楚
|
14
f0rger 2023-03-14 18:47:29 +08:00 via iPhone
名字好熟悉,是不是 aptv 作者?建议在 cf 上买个便宜域名可以比较快解决,也可以正常访问。cf 可以开日志定位,请求的时候看一下日志
|
15
XEdge 2023-03-14 19:00:01 +08:00
加上如下配置,$host 是被反向代理的域名
proxy_ssl_name $host; proxy_ssl_server_name on; |
17
scemsjyd 2023-03-14 20:05:48 +08:00
是 xxx.xxx.works.dev 的域名解析的问题,可以配置 nginx 的 resolver 指令指定 dns 解析试试。nginx 好像是不支持反代域名,必须要手动指定 dns 的解析。当然直接使用 cf 的 cdn 是最佳办法,没必要再走一层代理。
|
18
ik 2023-03-15 09:32:38 +08:00 via iPhone
加 #15 的配置就行,应该要没有 5 秒盾的前提。
|
19
ik 2023-03-15 09:33:32 +08:00 via iPhone
还有 nginx 要单独配 dns ,你的配置里面看起来也没有
|