使用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)的安全列表

image.png

将域名与(随意)OCI的公共IP关联起来。

因为把OCI的IP注册为一个合适的域名A记录是一件令人开心的事情,所以提前做好这个。

结束

你应该通过这个方式联系上。如果遇到问题可以试着联系@honahuku。

广告
将在 10 秒后关闭
bannerAds