Help us understand the problem. What is going on with this article?

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

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を自前で立てるとよいみたいです。

https://github.com/exentriquesolutions/nip.io

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした