繁体   English   中英

NGINX 带子域的端口转发

[英]NGINX port forwarding with subdomain

我想创建一个Minecraft 服务器,并且我已经有一个运行多个 Minecraft 服务器的服务器。

我也有一个OVH域,并且创建了一个带有通配符的子域。

我想创建子域来访问我的每个 Minecraft 服务器。

例如,我有两个 Minecraft 服务器,一个端口为 25560,另一个端口为 25561。我的主域是“example.com”,我想使用“server1.example.com:25565”连接到我的第一个 Minecraft 服务器,这将重定向到在端口 25560 上运行的服务器。同样,我想使用“server2.example.com:25565”连接到我的第二台服务器,这将重定向到在端口 25561 上运行的服务器。

我试图在NGINX Stream 模块中创建配置,但我无法使用 server_name 指定子域。

我认为这是可能的,因为我见过很多带有子域的 Minecraft 服务器。 我究竟做错了什么?

我的module-enable/mc.example.com.conf

stream {
     server {
             listen 25565;
             server_name server1.example.com;
             proxy_pass minecraft;
     }

     upstream minecraft {
             server 127.0.0.1:25560;
     }
     server {
             listen 25565;
             server_name server2.example.com;
             proxy_pass minecraft2;
     }

     upstream minecraft2 {
             server 127.0.0.1:25561;
     }
}

编辑 20/01/2023:

所以我尝试了别的东西

stream {
     server {
             listen 25565;
             server_name server1.example.com;
             proxy_pass 127.0.0.1:25560;
     }

     server {
             listen 25565;
             server_name server2.example.com;
             proxy_pass 127.0.0.1:25561;
     }
}

但我收到此错误: "server_name" directive is not allowed here

您可以设置一个 BungeeCord 服务器并让玩家从游戏中切换服务器,或者获得第二个公共 IP 并使用另一个端口转发来处理它。 我在这里看不到更多选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM