两个vps, 都是reality+xhttp,把其中一个配为另一个的下行,就不通了是为啥呢 #4271
Replies: 7 comments 8 replies
-
Beta Was this translation helpful? Give feedback.
-
总体上摸索了几天,算是搞定了,没法用两个vps(主要是不想搞任意门,感觉那就是链式代理), 只能上行套CF CDN转本地raw xhttp端口, 下行用reality回落本地端口,然后面向客户端用reality 发出去。这里不纠结配置,主要想说下体感,我有3个VPS,一个是US BWG BIGBOX, 一个是HK BWG CMI, 一个是US DMIT GIA, 下行口子都是1G以上(当然,是共享),平时用tcp+reality, fast测速都是300M-500M, 上了上面的配置后,fast测速,非高峰期只能到120M左右,高峰期只能80-100Mbps, (当然,这个r大佬有说,非高峰期正常测速时多线程测速没有vision好,符合预期),其实最不爽的就是套了CDN, 在高峰期就非常拉跨了,即便只套了上行。那些在白天非高峰期优选的CDN IP,甭管你怎么优选(我电信,移动双千兆宽带),到了晚上,该炸还是得炸,虽然这个配置分离了上下行,让下行还是走原来的tcp+reality+vision,但上行依然是瓶颈,我认为它不是xhttp简单的流式分离就可以让上下行的带宽在应用层毫无关联了,猜测应用内部对传输层上下行速率有一定的流控管理耦合逻辑,实际体验上来说,上下行之间还是有很强的关联和相互影响的,比如,虽然油管显示peak连接下行速度跟之前一样能时不时上10万。但看着看着就会缓冲(这是这些节点上下行都统一用tcp+reality时绝对不会有的,8k都毫无压力,CF CDN缓冲我设置规则关了)影响体验,fast测速和speedtest测速,那就更不用说了,前面提了。因此,除非你迫不得已实在担心你的ip, 本身就是优质线路的,尽量不要用CDN搞分离,自己给自己找罪受,体验至少下降50%。当然,我不是说用cdn做上下行没有意义,体验不好主要是CDN的原因占大头,跟协议设计关系可能没那么大,作为一种技术储备和对于被墙的,又或是对那些比较垃圾的线路(就是你连你的VPS的quality比连CDN还差的vps,这种机器除了便宜,用起来真痛苦-_-!),还是很有意义的,但实际应用当中,如果不想浪费你的优质线路的,就还是不要去搞套cdn做分离了。另外说一点,感觉RTT优化上上xhttp确实不错,我感觉打开网页的速度明显比tcp快。 |
Beta Was this translation helpful? Give feedback.
-
我和你一样折腾了好久,没成功。 因为R在xhttp文档里面的这句话“如果你没有任何域名的话,也可以开两台 VPS、开两个 REALITY 玩上下行分离:”,我以为可以两台VPS呢;但是后面那句“无论是 CDN 加反代,还是 REALITY 加回落,只要最终以同一 path 抵达同一 VPS 上的同一 XHTTP 入站即可”,感觉两台VPS分别负责上下行是不行的,同时也觉得配置上面应该两台VPS无法协同。 |
Beta Was this translation helpful? Give feedback.
-
不知道有没有人试试用aws的cdn玩上下行分离,aws每个月10t免费下行流量,上行则用cf或者直连,这样说不定可以白嫖aws的优质线路同时避免花钱 |
Beta Was this translation helpful? Give feedback.
-
所以其实想实现一个vps上行一个vps下行,xhttp配置要在最终的下行服务器上配置,上行只能是通过端口转发? |
Beta Was this translation helpful? Give feedback.
-
其实是有办法实现多个VPS做负载均衡的,就是都前置一个openresty+lua脚本根据首个UUID做标记,把UUID对应的upstream存redis,后续同UUID的流量都转发到同一个VPS,我就是这样玩的,这样前置一个NLB或者dns解析到多个IP都没问题 |
Beta Was this translation helpful? Give feedback.
-
xray客户端(tcp+reality)->服务器A(tcp+reality)->服务器B(tcp+reality) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
两个美国的vps A和B, 分别单独配reality+xhttp(auto) 都是通的,在client上节点A的xhttp extra里配置downloadSetting把B放进去(配置见下),client上测试A节点就不通了,为啥呢? extra的配置如下,就加了个downloadSetting. 强调一下,不配下行的时候,这个两个VPS A,B独立跑reality+xhttp是好的,所以单独的肯定没有配置错误。哪位大佬看看如何debug.其实我对于这种场景还是不是很理解,我没套CDN, B不能直接作为A的下行吗?还是要套反代工具??附一点log,日志里post到那个伪装的SNI fail了,这是为啥呢?
Beta Was this translation helpful? Give feedback.
All reactions