我正在努力使我的兩個Minecraft服務器更易於訪問。我嘗試了一些解決方案,但到目前爲止,還沒有人有效地開展工作。將非HTTP流量重定向到基於子域的端口
我有一個正常的vanilla Minecraft服務器監聽mysite.com:25560和一個Tekkit Minecraft服務器監聽mysite.com:25570。也就是說,兩個Minecraft服務器都在同一臺機器上運行。當用戶直接連接到指定端口的服務器時,它們可以正常工作。
香草服務器最初正在mysite.com:25565,標準Minecraft端口上進行監聽。我已經改變了它,所以我可以讓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 URL必須是絕對的!
爲了確定我是否能夠正常工作,我試圖在各自的地方替換http://www.mysite.com:25560/60,並且Apache沒有任何錯誤地啓動,但用戶無法連接到服務器。我相信這是因爲Minecraft服務器不會將HTTP請求重定向到服務器連接,無論使用哪種協議。
這使我相信Apache在處理非HTTP請求時不會有幫助。如果我錯了,我該如何讓Apache正確地將子域流量重定向到一個端口?否則,任何人都可以提出一種方法來做到這一點沒有Apache?我可以訪問所有標準的Linux/Ubuntu實用程序。我一直在尋找相當長的一段時間而沒有進步。
謝謝!
我很感激它,但我希望可以從域名訪問這兩個服務器實例中的每一個 - 使用該命令將不允許用戶通過輸入地址tekkit.mysite連接到在mysite.com:25570上運行的服務器.COM。我想要mine.mysite.com(這意味着Minecraft中的mine.mysite.com:25565)和tekkit.mysite.com(tekkit.mysite.com:25565)被重定向到mysite.com:25560和mysite.com :25570。 – millinon
啊,我明白了。對不起,我誤解了你的問題。 – monitorjbl