0 前言
都散了吧,需要两台有公网的鸡鸡,只有一台落地服务鸡有公网IP的话,就不太方便,中转也几乎只能部署在局域网内。
场景复现:我有两台公网鸡鸡,其中A鸡当中转鸡,B鸡当落地服务鸡,但A和B鸡之间线路不太好。
那就会有人说了,直接在A鸡用Cloudflare访问B鸡不好咩?
那如果B鸡的服务不在Cloudflare的标准端口咋办?
又或者是我中转鸡鸡只有IPV4,落地鸡鸡只有IPV6,而我中转鸡鸡又不想套HE和做frp,落地鸡鸡又不想套warp连接中转鸡鸡的frp。
Cloudflare支持的 HTTP 端口为:
80
8080
8880
2052
2082
2086
2095
Cloudflare 支持的 HTTPs 端口为:
443
2053
2083
2087
2096
8443
所以我们今天就来解决这个问题。
1 原理
既然Cloudflare支持ws回源,那其实就可以搭建一个基于ws的隧道,进行端口转发。
2 准备
gostV3
gostV2
其实用哪个都没问题。我用v3的做服务端,v2的做转发端吧。
cloudflare把落地服务鸡给挂上小云朵,以及申请了证书,并且
公钥文件重命名为CDNcert.pem
私钥文件重命名为CDNkey.pem
3 开干
配置落地服务端gostV3,写一份config.yaml
services:
- name: relay wss
addr: ":2083"
handler:
type: relay
auth:
username: user
password: passwd
listener:
type: wss
tls:
certFile: CDNcert.pem
keyFile: CDNkey.pem
当然2083端口可以自己改,但要在cloudflare的端口里面选,运行落地服务端的gostV3
./gostV3 -C config.yaml
中转端的gostV2配置config.json
{
"Debug": false,
"Retries": 0,
"ServeNodes": [
"tcp://:222/127.0.0.1:22"
],
"ChainNodes": [
"relay wss://user:passwd@cloudflare代理后的域名:2083"
]
}
222的端口是中转端访问的端口,127.0.0.1:22是落地端的服务,其中会经过Cloudflare进行回源落地服务端,这样访问中转端的222端口就会转发到落地服务端的22端口。当然这只是举个例子,各位有啥邪恶(bushi好玩的玩法可以自己尝试。
启动中转端的gostV2
./gostV2 -C config.json

厉害啊
感谢
解决了家宽建站的问题,速度咋样呢