使用Cloudflare Tunnel和适当的虚拟机,将本地的Terraria游戏公开
経緯 – 经过
我在本地服务器上安装了Terraria。但是由于端口开放比较麻烦,所以我租了一台OracleCloud虚拟机,并通过Cloudflare Tunnel连接到那里,通过nginx建立了一个反向代理来解决这个问题。
在本地Terraria服务器上配置Cloudflare Tunnel。
Cloudflare Tunnel服务器端的设置是根据官方文档,在Dashbord的Access→Tunnels中进行的。
由于所设置的主机名是用于连接OCI的,最好选择一个合适的名称。
在OCI虚拟机上配置Cloudflare隧道
在OCI虚拟机上安装cloudflared,并使用以下命令连接本地的terraria服务器。
cloudflared access tcp --hostname ここにホスト名 --url localhost:6666
nginx的配置
在 apt 上安装 nginx,并在 /etc/nginx/nginx.conf 文件的 include 部分下面添加以下内容。
stream {
server {
listen 7777;
proxy_pass 127.0.0.1:6666;
}
}
验证配置文件
sudo nginx -t
重新启动Nginx。
sudo nginx -s reload
iptables的配置
由于OCI的Ubuntu使用iptables阻止了端口,所以需要将其打开。
sudo iptables -I INPUT 5 -p tcp --dport 7777 -j ACCEPT
应用设置
sudo /etc/init.d/netfilter-persistent save
sudo /etc/init.d/netfilter-persistent reload
编辑OCI(Oracle Cloud Infrastructure)的安全列表
将域名与(随意)OCI的公共IP关联起来。
因为把OCI的IP注册为一个合适的域名A记录是一件令人开心的事情,所以提前做好这个。
结束
你应该通过这个方式联系上。如果遇到问题可以试着联系@honahuku。