LoginSignup
24
15

More than 3 years have passed since last update.

フリーなワイルドカードDNSサービス

Posted at

TL;DR

  • Webサーバーのバーチャルホスト設定がしたいけれど、DNSレコードの登録やhostsの設定は面倒…
  • そんな時に、ワイルドカードDNSサービスが便利かも?

フリーなワイルドカードDNSサービス

xip.ionip.ioあたりが有名どころで、IPアドレスを含んだドメイン名でアクセスすると、その指定したIPアドレスを返してくれるサービスです。

Free wildcard DNS services for IP addresses

nip.ioのトップページに例があるので、ちょっと見てみましょう。

・ 10.0.0.1.nip.io maps to 10.0.0.1
・ 192-168-1-250.nip.io maps to 192.168.1.250
・ app.10.8.0.1.nip.io maps to 10.8.0.1
・ app-37-247-48-68.nip.io maps to 37.247.48.68
・ customer1.app.10.0.0.1.nip.io maps to 10.0.0.1
・ customer2-app-127-0-0-1.nip.io maps to 127.0.0.1

こんな感じで、指定されたIPアドレスに名前解決してくれます。

なにが嬉しいの?

バーチャルホストを必要とするシステムを開発していたり、テストしたりしていると、Webサーバーのバーチャルホストに指定する名前自体の名前解決をどうしようか、けっこうな悩みの種になります。

  • DNSレコードを登録するのは…
  • そもそもDNSサーバーは…
  • いいや、もうhostsに書いてしまえ

といったことを、よくやっているのでは?

そんな時に、こういったサービスを利用すると便利かもしれません。

例えば、以下のようなバーチャルホスト設定を持つApacheを用意します。

<VirtualHost *:80>
    ServerName foo.172.17.0.2.nip.io
    DocumentRoot /var/www/foo
</VirtualHost>

<VirtualHost *:80>
    ServerName bar.172.17.0.2.nip.io
    DocumentRoot /var/www/bar
</VirtualHost>

<VirtualHost *:80>
    ServerName hoge.172.17.0.2.nip.io
    DocumentRoot /var/www/hoge
</VirtualHost>

ドキュメントルート直下のファイルを作成。

$ cd /var/www/
$ sudo mkdir foo bar hoge
$ sudo echo foo > foo/index.html
$ sudo echo bar > bar/index.html
$ sudo echo hoge > hoge/index.html

確認。Apacheの動作しているIPアドレスは、172.17.0.2とします。

$ curl foo.172.17.0.2.nip.io
foo
$ curl bar.172.17.0.2.nip.io
bar
$ curl hoge.172.17.0.2.nip.io
hoge

注意点

xio.ipはサービスダウンすることで有名らしいですが、このエントリを書いていた時も落ちていました…。

そういう場合は、xip.ionip.ioを自前で立てるとよいみたいです。

しかしですね、自前で立てるとそのDNSサーバーにどうやってアクセスするのかという話がまた(略)。

あと、インターネットアクセスがプロキシサーバー下だと、名前解決だけでなく実際のアクセスもプロキシサーバーが行ってしまうので、悲しい結果になります…。

24
15
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
24
15