nginx实现gost端口复用有两种解决思路:
1、多个域名反代多个落地。
2、一个域名根据根据路径反代多个落地。
添加CloudFlare
首先花几块钱注册一个域名,添加域名到CloudFlare(下称CF)并修改域名的域名服务器到CF,之后域名的解析就放到了cloudflare上,很方便。不过我比较喜欢使用第三方接入cloudflare,优点是不需要修改域名服务器完全托管到CF,需要什么二级域名解析给cloudflare就行。我在用的第三方cf:笨牛网,很稳定。这里就介绍用笨牛添加cloudflare,这里举例我有一个mebilife.com域名。
用cloudflare账号登录笨牛网,进入域名添加页
cdn.bnxb.com/add.php
如下图添加主域名,回源方式选择 IP回源 ,回源地址随便,比如:1.1.1.1
添加完成后在最上面导航条进入 域名管理,找到我们刚添加的域名mebilife.com,进入后找到在该域名同一行的后面 解析管理,我们会看到默认添加了@和www的子域名记录,我们可以先把它们都删了,然后添加二级域名,这里我要添加cf.mebilife.com二级域名,先点表格下方的 添加,在新增加的行中,域名列为:cf,回源地址为你的落地机IP,然后保存。
回到域名解析,为二级子域名cf.mebilife.com添加cname解析。记录值为: 二级域名.cdn.cloudflare.net,例如我的子域名cf.mebilife.com 的记录值为 cf.mebilife.com.cdn.cloudflare.net,记得保存。
然后可以用本机ping域名cf.mebilife.com,能ping通就表示cloudflare添加成功。
添加gost隧道
gost隧道官方文档:gost官方文档
现在我有一个落地机搭建了ssr,端口为10000。在落地机里搭建gost,gost监听80端口,gost隧道命令为:
gost -L ws://:80/127.0.0.1:10000
拿中转机开放20000端口,gost命令如下:
gost -L :20000 -F ws://cf.mebilife.com:80
然后静静等待cf给你签发https证书,时间长短不定,快的几分钟,慢的需要半小时-一小时。在等待的过程中,把CF的ssl加密方式修改为全程-简易(不是必须)
检测一下:浏览器打开cf.mebilife.com,网页成功打开并提示 404 page not found;打开cf.mebilife.com/ws,网页成功打开并提示 Bad Request,那么CF+落地端gost配置成功。
现在你可以使用中转机的ip和开放的20000端口使用ssr了,加密方式、协议这些信息不用动。
现在我们来看一下原理:你在本地访问中转机的20000端口,中转机将流量发送到域名cf.mebilife.com,因为cf.mebilife.com是cf的cdn节点,cf会将流量转发到你设置的回源地址,回源地址是我们的落地机,因此流量来到了落地机的80/443端口,落地机的gost隧道接受到端口流量,将其转发到了10000端口,10000端口正好是ssr的服务端口,ssr回应的流量通过反方向回到了本地,这一来一回就算是跑起来了。
自定义cf节点
众所周知,默认的cf节点到大陆线路不太好,到了晚高峰延迟丢包到怀疑人生。CF指定使用cname进行域名解析,但是我们通过A记录达到自定义cf节点的目的。不过自定义节点并不是cf建议的方式,可以存在翻车的风险,我们可以借助dns服务商的多线路解析,电信联通移动自定义cf节点,国外解析cname看不出没问题,这也是为什么我推荐第三方cf接入的原因之一。
如果你的dns服务商不支持多线路解析,我们可以在中转机上修改hosts,好处就是即使别人知道了你的cf域名,也不知道对应cf的ip节点,可以很好的保护你选到的优质ip。
cf的优质ip
因为时间关系,下面的ip不保证可用和速度
CloudFlare的百度云合作ip
162.159.208.4-162.159.208.103
162.159.209.4-162.159.209.103
162.159.210.4-162.159.210.103
162.159.211.4-162.159.211.103
网友收集的CloudFlare国内线路友好IP:
108.162.236.1/24 联通 走美国
172.64.32.1/24 移动 走香港
104.16.160.1/24 电信 走美国洛杉矶
———
172.64.0.0/24 电信 美国旧金山
104.20.157.0/24 联通 走日本
104.28.14.0/24 移动 走新加坡
网友关于各线路推荐列表:
电信
推荐走圣何塞,例:104.16.160.* 或者上面的百度云合作 ip。
移动
推荐走移动香港,例:172.64.32. 141.101.115. 或者 104.23.240.0-104.23.243.254。
联通
没发布什么好线路,可走圣何塞。例:104.16.160. 或者 104.23.240.0-104.23.243.254。也可以试一下走亚特兰大 108.162.236. 。
已严格按照教程一步步去操作了,然而还是不行。我落地机安装的是ss,加密方式是aes-256-cfb。我按照教程弄好后,把节点加到Clash,发现节点一直是timeout。。。。
第一 确保ss没问题
第二 浏览器能打开域名,确保落地的gost没问题
第三 查看中转机gost日志,确保中转的gost没问题
要是还用不了,自选一个适合你中转机的cf ip。
还是不行我也不知道了。
gost -L 20000 -F ws://cf.mebilife.com:80
这指令是不是错了?
gost -L :20000 -F ws://cf.mebilife.com:80,端口20000前面是不是要有:?
这指令是不是错了?
已修改,感谢指出错误。