
使用 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 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 是什么我并不清楚,它如何工作我也不清楚 |
13 C1V7dYXW4PN67euV 2023-03-14 17:46:49 +08:00 @brader 按照你给的配置,用 ip+port 访问提示是 502 Bad Gateway... 不知是啥问题 |
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 ,你的配置里面看起来也没有 |