• 締切済み

IPアドレスでアクセスできないサイト

複数のドメイン名を1つのIPアドレスに割り当てたDNSにおける挙動を教えて下さい。 ブログで有名なjugemなどでは、http://ユーザ名.jugem.com/ というURLによってサイトにアクセスすることができます。 これはおそらくダイナミックDNS(←詳細は知らないのですが)で 複数のドメイン名を1つのIPアドレスに割り当てている、 ということだと認識しています。 このようなサイトに対し、 nslookupしてIPアドレスでアクセスしようとすると、 うまくいきません。 これはユーザ名にあたる情報が無いので、そりゃそうかな、と思っていたのですが、 DNSの仕組みを考えると不思議に思います。 ユーザのPCからURLでアクセスする場合でも、 c場合はどうなるのでしょうか? 例えば、ユーザPCの近くに、サイト(JUGEM)が知らないDNSサーバがあったとして、 URLとIPアドレスの対応をキャッシュしていたとすると、 同様にIPアドレスでのアクセスができない、ということにはならないのでしょうか?

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4

To: Wr5 さん(ANo.3) コメントありがとうございます。ご指摘どおり,ANo.2 は HTTPプロキシを指定した場合のHTTPリクエストです,説明が足りませんでした。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

>HTTPリクエスト内にURLが含まれることで解決している、ということですね。 HTTP1.1では、リクエストヘッダにHostヘッダが必須だったかと…。 GETリクエストやPOSTリクエストではURL部分にホスト名が必ずつくとは限らないと思います。 # プロクシ使用の場合は付くでしょうけど。

参考URL:
http://www.studyinghttp.net/header#Host
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

例えば,kusman88.jugem.com のIPアドレスが 69.25.27.171 であるとしたとき。 OSI第3層のIPパケットのレベルでは,DNSによる名前解決がなされて,69.25.27.171 というIPアドレスに対してパケットが送信されます。 それに対してOSI第7層のHTTPデータのレベルでは,"GET http://kusman88.jugem.com/ HTTP/1.1" というようなホスト名ドメイン名の文字列がHTTPリクエスト内に含まれており,Webサーバはそれを元にして振り分けをおこないます。 http://okwave.jp/qa3576870.html の私の回答 ANo.1 も参照してください。

kusman88
質問者

お礼

なるほど。 HTTPリクエスト内にURLが含まれることで解決している、ということですね。ありがとうございました。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

ApacheのNameBaseのVirtualHostの項を参照してください。   http://www.apache.jp/manual/vhosts/ アクセスしてくるホスト名(ドメイン)ごとに別のユーザ領域をDocumentRootとして割り当てていきます。で、未割当のホスト名やIPなどでアクセスした場合にどういう内容を返すかはApacheの設定次第です(ほとんどのサーバはエラーにしていると思います)。

kusman88
質問者

お礼

サーバ側の設定にもよるが、 HTTPリクエストの中に含まれない場合は、はじかれる、ということだと理解しました。ありがとうございました。

関連するQ&A