簡體   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