基于子域将非HTTP流量重定向到端口

时间:2012-08-29 17:09:37

标签: apache subdomain port minecraft

我正在努力让我的两台Minecraft服务器更容易访问。我尝试了一些解决方案,但到目前为止,没有一个能够有效地发挥作用。

我有一个正常的vanilla Minecraft服务器在mysite.com:25560上收听,一个Tekkit Minecraft服务器在mysite.com:25570上收听。也就是说,两台Minecraft服务器都在同一台机器上运行。当用户使用指定的端口直接连接到服务器时,它们可以正常工作。

香草服务器最初是在标准的Minecraft端口mysite.com:25565上收听的。我已经改变了所以我可以允许Apache在mysite.com:25565上听,并适当地重定向流量,但到目前为止还不行。

我希望能够做的是将所有发送到mine.mysite.com的请求重定向到mysite.com:25560,并将发送到tekkit.mysite.com的所有请求重定向到mysite.com :25570。我知道DNS本身无法管理此重新路由,因为DNS只处理域名和IP地址。

根据朋友的建议,我的最新尝试是重新配置Apache,正如我之前所说,侦听端口25565并将流量代理到正确的端口。这是我的apache2.conf的一部分:

Listen 25565

NameVirtualHost *:25565

<VirtualHost *:25565>
    ServerName tekkit.mysite.com
    ServerAlias www.mysite.com
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPreservehost On
#   ProxyPass / www.mysite.com:25570/
    ProxyPassReverse / mysite.com:25570/
</VirtualHost>

<VirtualHost *:25565>
    ServerName mine.mysite.com
    ServerAlias www.mysite.com
    ProxyPreserveHost On
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
#   ProxyPass / mysite.com:25560/
    ProxyPassReverse / mysite.com:25560/
</VirtualHost>

使用ProxyPass注释掉的行会导致Apache以错误开头     ProxyPass网址必须是绝对的!

为了确定我是否可以使其正常工作,我尝试在相应位置替换http://www.mysite.com:25560/60,而Apache确实启动时没有任何错误,用户无法连接到服务器。我相信这是因为Minecraft服务器不会将HTTP请求重定向到服务器连接,无论协议是什么。

这让我相信Apache在处理非HTTP请求时没有帮助。如果我弄错了,我怎样才能让Apache正确地将子域流量重定向到端口?否则,没有Apache可以建议一种方法吗?我可以访问所有标准的Linux / Ubuntu实用程序。我一直在寻找没有进展的时间。

谢谢!

2 个答案:

答案 0 :(得分:2)

解决方案1:

我认为这不适用于Apache,因为你只能得到错误。在互联网上搜索了一段时间后,我发现了以下内容:https://github.com/SirCmpwn/MCVHost。我不确定它是否有效,但如果确实如此,我认为它完全符合您的需求。

如果你在Linux上,你可以用Mono运行它,因为我没有发现任何Java或Python等价物。

编辑:我刚刚测试了它,它不适用于1.4.6,因为协议已更改

解决方案2(可能是最好的):

使用自1.3版以来Minecraft认可的SRV记录。 Multiplay在http://wiki.multiplay.co.uk/Minecraft/Hostnames发布了一本手册。

答案 1 :(得分:0)

我相信iptables会为你做这件事,假设你在Linux上:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25565 -j REDIRECT --to-port 25560

您必须是root才能运行此命令,并且它不是永久性的。每次服务器重新启动时都必须运行它。

相关问题