使用 Cloudflare 自定义回源端口绕过备案阻断

0、前言

其实看我的集群监控面板就可以发现,我的服务器(尤其是高配置服务器)都在中国大陆,境外的服务器都是配置比较低的。我在服务器安全(二)内外网防御中也提到,用一台服务器做转发的方法。

这也是为什么我的服务器几乎没有被打宕机过:所有人能查到的 IP 只是转发的机器,把这台服务器打进黑洞我可以立刻切换到 Cloudflare 然后换一台继续转发,而且归功于服务 N+2 多机热备部署,所有服务只需在切换至 Cloudflare 后修改 DNS 记录即可完成;博客、CDN 等多点部署的服务,切换甚至可以由D监控全自动完成。

目前这个方案已经非常成熟,我已经在团队内部推广,但是是以这样的方式:

  1. 使用 Docker 运行容器
  2. 让成员使用容器
  3. 宿主机作为上文中提到的转发机

这样就有一个问题:需要同时在容器和宿主机中配置证书,不过容器中的证书不一定要有效,可以自签。最大的问题是,如果域名没有备案,会直接被备案阻断,使用 HTTP 会被重定向,开启了 HSTS 会直接被重置连接。使用 Nginx 反向代理时,不知道为什么可以直接使用 HTTPS/443 转发不会被阻断;使用 Cloudflare 回源时,访问了几次就报Error 525错误,无法完成连接。

所以,最佳方法就是自定义回源端口。

1、非标准端口 SSL

首先参考本站文章:

Nginx非标准端口或子域名开启SSL
https://blog.tsinbei.com/archives/76/

以下以非标准端口8443为例。

2、自定义回源端口

在控制台中按以下步骤配置:

此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。

编辑完成点击“部署”,刷新浏览器缓存即可生效。
需要添加域名时,再编辑此规则即可。

3、效果

清北俱乐部普通会员节点状态页面
路由:Cloudflare -> 宿主机端口转发 -> 宿主机 Nginx -> Docker 端口转发 -> 容器 Nginx
https://v1.tsinbei.cf
清北俱乐部高级会员节点状态页面
路由:Cloudflare -> 宿主机端口转发 -> 容器 Nginx
https://v2.tsinbei.cf

如果此页面运行正常,说明此方法目前依然生效。

4、注意事项

如果发现 HTTP 访问会被重定向到备案页面,HTTPS 访问正常,这是因为 Cloudflare 默认使用相同协议回源,在控制台开启强制 HTTPS 即可。

使用 Cloudflare 自定义回源端口绕过备案阻断

https://blog.tsinbei.com/archives/1281/

文章作者
Hsukqi Lee
发布于

2023-06-06

修改于

2023-06-24

许可协议

CC BY-NC-ND 4.0

# 建站  SSL  TLS  HTTPS  网站  服务器  反向代理  DNS  Cloudflare  CDN

评论

昵称
邮箱
网址
10 条

hh

hh

来了

  回复

woods

woods

来了

  回复

woods

woods

來了來了

  回复

dasd

dasd

自動稽覈

  回复

chax

chax

啊对对对对

  回复

Suoahd

Suoahd

看看这个方法

  回复

bihaibihai

bihaibihai

来了来了

  回复

bihai

bihai

来了来了

  回复

TheHot

TheHot

来了来了

  回复

helpdesk

helpdesk

  回复