LoginSignup
2
1

【Minecraft】サブドメインでリバースプロキシしたい!

Last updated at Posted at 2023-12-16

マインクラフトでバニラサーバーとMODサーバーを立てた際、Nginxのリバースプロキシができるか試した時の話

あらすじ

・Minecraftサーバーをを同一サーバー上で2つ立てた
・ポート番号をそれぞれ書くのがめんどくさい
・サブドメイン変えるだけで入れるようにしたい!

方法1- Nginxのリバースプロキシ

リバースプロキシとは、クライアントからのリクエストを受け取り、
それをバックエンドのサーバーに中継するプロキシサーバーのこと

通常複数のホームページなどを同一IPでホストするときに使う。

abc.example.com => localhost:80

def.example.com => localhost:81

などサブドメインを判別し、接続先を振り分けてくれる。

マイクラのサーバーにも使えるのでは?

abc.example.com => localhost:25565

def.example.com => localhost:25566

結果:接続できなかった

MinecraftのサーバーはTCP通信だがTCPの規格上、HTTP通信のようにサブドメインを検出することができず振り分けができないらしい

方法2 - SRVレコードを使う

SRVレコードは、"Service"レコードの略で、ドメインネームシステム(DNS)で使用される一種のリソースレコードです。サービスが利用するポート番号を指定することができます。

DNSで名前解決する段階でport番号も一緒に送られてくる便利なレコードらしい。

やってみる

DNSサーバー: Cloudflare

接続したいサーバー

example.com => IPアドレス:25565
mc.example.com => IPアドレス:25566

スクリーンショット 2023-11-09 15.05.15.png
スクリーンショット 2023-11-09 15.04.58.png

結果:接続できた

あっさりと繋がった。実はネット上の多くの文献にはminecraftサーバーではSRVレコードは使えないと書かれていたため、ダメ元でやってみたのだが全く問題なく繋がった。

Minecraftサーバーのバージョンにもよるのかもしれないが、1.20.1では使用できる

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1