在自己的域名下 设置路由 指向 Cloudflare worker 解决 workers.dev被墙问题
用worker反代域名的操作大家已经很熟悉了。但是如果所有*.workers.dev的域名都被墙了还有什么办法呢?还可以在自己的域名下 设置路由 指向worker.
需要
1. 已经解析到Cloudflare的自己的域名
2. 建好的,可以正常工作的worker
操作
1. 添加一个DNS域名解析
名称 随意 (以下示例中,添加的是wkr.ciys.cf 请注意以下行文中看到蓝色的wkr.ciys.cf都是指你自己设置的域名)
IP 随意
代理状态 打开
2. 在你自己的域名下worker页面添加一个路由,指向worker
路由 填写你在上一步添加的域名/* 如
wkr.ciys.cf/*
服务 选择你想指向的worker
添加成功后可以在worker列表页面,看到你的worker下面多了一行小字。
3. 修改v2ray客户端节点参数
================
完
================
参考了
https://www.nbmao.com/archives/4979
https://www.luckydesigner.space/define-workers-domain-via-cloudflare/
================
后记
其实第1步,是为了把 wkr.ciys.cf 解析到Cloudflare的CDN网络服务器上。
反过来说,如果你反正是要使用优选IP的,那么你可以略过第1步,最后,在你的v2ray客户端的节点参数配置中,地址(address) 填写优选IP,域名(host)填写 wkr.ciys.cf
对照 <连接 V2Ray Websocket + TLS 模式的过程> 来看,节点参数里的地址(address)决定了数据包从你的V2Ray客户端发往哪里。不管是在Cloudflare里设置wkr.ciys.cf解析并打开CDN并填到地址(address)一栏,还是直接设置优选IP填到地址(address)一栏,都可以做到将数据包发往Cloudflare的CDN网络。
接下来是Cloudflare的CDN网络根据数据包的域名(host)判断将数据包发往哪里。
根据你在第2步设置的worker路由设置,CDN网络把访问 wkr.ciys.cf/* 的数据包都转发到worker去处理。
然后是worker把数据包转发到你的VPS节点真正的域名上。
以我自己现在的状态为例
Cloudflare里面,我没有设置wkr.ciys.cf的DNS解析。添加了一个wkr.ciys.cf/*到我的worker的路由。 worker中,我反代了我的一个节点的域名。 v2ray客户端的节点参数中,address写wkr.ciys.cf, host写wkr.ciys.cf。在我自己的电脑上,修改hosts让wkr.ciys.cf解析为Cloudflare的优选IP。复合脚本测速更新hosts中优选IP的方案。当然,要先把ciys.cf成功添加到Cloudflare,完成设置name server等工作。
Q: 什么叫正常工作的worker?
A: 不管你搭在什么服务器上,是Linux1也好,IBM也好,Oracle也好,Heroku也好。如果你是用worker反代,正常工作的worker就是:在wokrer修改脚本那个页面,测试能显示400 Bad Request。这个400错误是v2ray返回的。注意如果你配置了path, 下图中红框里要把 /你的path 填在你的worker域名的末尾,即:
xxx.yyy.workers.dev/你的path
这种一路套娃的反代配置方式,如果不成功,请从里到外检查问题
先以'第三方'的角度检测,检测工具可以用网页版HTTP状态检查器
如: https://www.uptrends.com/tools/uptime
把https://域名/path填进去测试
也可以用你的另外一个VPS的curl命令 如: curl https://域名/path
操作示例请见此视频:HTTP测试 域名/path 返回 400 Bad Request 说明 配置成功 数据流到达 V2Ray
2. worker域名/你的path 是不是400
如: https://wkr1.ciys.workers.dev/d94b15f316a0
3. 你的自定义域名/你的path 是不是400
如: https://wkr.ciys.cf/d94b15f316a0
'第三方'检测通过了, 再在你自己的网络环境上用浏览器检测你反代的最外层,也就是你准备填到V2Ray客户端节点参数里host的域名+你的path
换个角度解释 解决workers.dev被墙的各种方案
https://zelikk.blogspot.com/2022/05/workers-dev-gfw-ban-route-pages.html
大佬,指点一下,1.正常搭建V2RAY+WS 使用正常 2.用Worker反代域名www.00000.tk,检测https://yyyyy.xxxxxxxxxx.workers.dev/fqv2ray 出现400 Bad Request 3.按照你这个教程用另一个域名www.111111.tk指向worker,但在v2rayN中填入www.111111.tk域名配置出现错误
回复删除2022/05/15 08:42:53 [Warning] [1119314248] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://www.00000.tk/fqv2ray): > remote error: tls: handshake failure] > common/retry: all retry attempts failed
2022/05/15 08:42:53 [Warning] [4241408913] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://www.00000.tk/fqv2ray): > remote error: tls: handshake failure transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://www.00000.tk/fqv2ray): > dial tcp: operation was canceled] > common/retry: all retry attempts failed
2022/05/15 08:42:53 [Warning] [3904756726] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://www.00000.tk/fqv2ray): > remote error: tls: handshake failure transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://www.00000.tk/fqv2ray): > dial tcp: operation was canceled] > common/retry: all retry attempts failed
1. 我猜测你是用111111和000000给你的域名打码。所以我先不去纠结你前面说www.111111.tk,日志里又写www.000000.tk的问题
删除2. 在你自己的浏览器中,请检查 www.111111.tk/fqv2ray一样会得到400 Bad Request
我的步骤全都对,但输入www.111111.tk,会跳转到真实域名www.000000.tk,输入 www.111111.tk/fqv2ray,同样跳转到真实www.000000.tk/fqv2ray, 新申请一个域名来操作,也是同样
删除你好!跳转与你搭建的细节实现有关。
删除我补充一段在本文最末。请自查一下你在套娃哪一层出错了?
感谢大佬,测试后全部出现400 Bad Request,没有改配置,可以用了,好奇怪,另外在问一个,这种与ws套cf,指定ip有什么区别?速度更好?
删除请问你说的 "ws套cf,指定ip" 是指什么方案?请提供一个链接。
删除就是v2ray+tls+ws套CF,隐藏ip这种,https://timevia.blogspot.com/2019/06/v2arywstlscf.html
删除本文解决的问题是:当你本来的节点的域名被屏蔽或者干扰时,你不方便或者没有权限修改VPS上的设置(比如,你是在heroku这种容器上搭的,或者你用的别人的节点或者机场的节点),如何用新的域名套上去。特别地,你自己没有一个VPS的情况下。
删除楼主说的很清楚呢,关键是IP地址随便填&打开小云朵
回复删除当然做了,就是会跳转到真实域名,不知道是什么原因
删除我有两个问题
回复删除1,在cloudfare中给自己的域名设置DNS记录时添加内容的IP是输什么IP?是自己电脑的公网IP还是heroku有关或者其他的IP有关
2,在cloudfare中给自己的域名设置worker时添加路由时服务一项没有内容,无法选择,不知如何解决,望大佬解惑
鄙人小白,啥都不懂,非常感谢大佬不吝赐教
1. IP 随意
删除原因:将域名wkr.ciys.cf添加DNS记录并打开CDN,只是为了将wkr.ciys.cf解析为CF的CDN网络的服务器。
2. 服务没有内容,是因为你没有一个正常工作的worker。
解决方法:请参考其它教程创建一个可以正常工作的worker
大佬好,在创建woker时,服务名称需要更改吗?代码需要更改吗
删除这个取决你参考的哪篇教程。你可以把教程的链接贴出来
删除没找到合适的教程,直接在cloudfare里点woker创建服务,不好意思
删除试试 https://github.com/DaoChen6/Heroku-v2ray
删除