反向代理或 DNS 连接到多个 Minecraft 服务器端口

问题描述 投票:0回答:1

我正在努力让我的 Minecraft 服务器有一个单独的子域,而不需要用户输入端口。

例如: example.com:25565 = s1.example.com example.com:25570 = s2.example.com

我不想使用 nginx,因为我有一个运行端口 :80 和 :443 的 apache 服务器。 如果有办法使用 iptables 来做到这一点,那就更好了;我从未使用过 iptables,我想学习,但是,如果有更好、更可靠、更安全的方法来做到这一点,那就太棒了。目前我已经通过 ufw 打开了所需的端口。

如果这个问题已经在其他地方得到回答,我深表歉意,但我很难找到适合我的具体情况的东西。

如果需要,我会添加任何额外的信息。

我曾尝试使用 SRV DNS 记录来实现此目的,但没有成功,并且 nginx 与 apache2 发生冲突。如果我仍然可以使用 nginx,我不确定如何禁用它的 http 托管功能,以便与 apache2 不兼容。

首先,我设置 SRV DNS 记录: 我正在使用 Google 域。我将 SRV 记录设置为以下内容: 主机名:s1 类型:SRV TTL:3600 数据:5 5 25565 example.com

注意:我为 ip 设置的类型域工作正常(example.com:25565/example.com25570)。我确实意识到 example.com:25565 毫无意义,因为 Minecraft 默认指向端口 25565,但此设置主要用于 example.com:25570

其次,我尝试使用 nginx: 我今天之前从未使用过 nginx,但我将以下内容添加到 /etc/nginx/nginx.conf 来自this post:

server {
    listen 80;
    server_name site1.domain.example;

    location / {
        proxy_pass http://localhost:8080;
    }
}

server {
    listen 80;
    server_name site2.domain.example;

    location / {
        proxy_pass http://localhost:8081;
    }
}

systemctl restart nginx
,由于80端口已经被占用,重启失败,但我不知道如何禁用nginx的http功能,这样我就可以主要使用apache2——我熟悉的。

然后我偶然发现了一篇文章,其中展示了一种使用 iptables 反向代理的方法,但由于我以前从未使用过 iptables,我不想直接跳进去,以免犯错误让我重新安装操作系统服务器以及当前正在使用的所有程序,包括 MySQL、Apache 等

reverse-proxy portforwarding ubuntu-22.04 google-domains
1个回答
0
投票

这是因为 nginx 只服务于你配置的 http 和 https 请求。如果你真的想为 Minecraft 运行反向代理,你可以尝试使用由 paperMC 提供支持的速度。

© www.soinside.com 2019 - 2024. All rights reserved.