通过Nginx转发Minecraft服务器流量达到加速的目的(Nginx转发TCP)

阿里云学生机10块一个月挺便宜了,就是内存2G对于一个Minecraft服务器来说有点小
而我还有个谷歌云服务器在台湾,配置不错内存也够,问题就是网络延迟太大
把Minecraft服务器运行在那里实际玩下来发现延迟不能忍受
从我的电脑Ping台湾服务器有250ms,Ping阿里云20ms,阿里云Ping台湾服务器,50ms
用小学老师教我的加法一算发现,50+20小于250啊
于是就有了标题这个想法

对于流量转发除了SS和Frp其他我还真不知道(去看我的frp教程吧,真的,Nginx反向代理太难用了

网上查了可以用firewalld做端口转发,我试了把tcp和udp的25565端口都转发到台湾服务器
没用,可能是原理不对

再一查看到Nginx反向代理可以做这种事情
大概就是编辑站点配置文件,在server{}里面加上

1
2
3
4
5
listen 25565;
location / {
# 代理的地址
proxy_pass http://35.xx.xx.23:25565;
}

我确实这样做了因为前面不加http://配置文件不让过,结果一试当然没有用

正确的方法在这里

后来找到了Nginx转发tcp的文章,总算是找对方向了
我的Nginx版本1.14,默认是支持TCP流量转发的,只需要在Nginx的配置文件(Nginx.conf)里面加如下面几行就可以:

1
2
3
4
5
6
stream {
server {
listen 25565;
proxy_pass 35.xx.xx.23:25565;
}
}

加在events后面

是的,就是这么简单,这篇文章能教你的已经结束了

而我自己的折腾还在后面,因为我没有把前面listen 25565的站点删掉,没删掉!!
导致我不管怎么改Nginx的配置都是说连不上
折腾了一晚上+一小个下午共计两个小时,的人生
终于在今天也就是写这篇文章前发现了,把那个站点删掉,终于是能连上了
感动得我
掀了桌子
昔日的卡顿
完全没了影子
那么以后
终于能和小伙伴愉快的玩mc了
开心