回答受付が終了しました

IPアドレスの直打ちによるアクセスはなぜ禁止されているのか教えていただけますか?ドメインを管理するDNSサーバーが禁止しているのですか?

回答(7件)

0

ブラウザで`https://192.168.0.1`などアドレスにリクエストした場合にエラーになるっていうことですよね。 これを禁止してるのはブラウザやローカルのhttpクライアントです。 https通信をする場合は公開鍵認証と呼ばれる方法を使います。 この通信をする際に最初にリモートサーバから証明書というものをDLするんですが、その証明書にドメインネーム文字列が設定されています。 ブラウザやhttpクライアント側で証明書の検証を行う際に、今自分がアクセスしようとしているドメインネームと証明書に記載されているドメインネームを比較してマッチしなかったらエラーにするんです。 curl の -kオプションなどでこの検証ステップをskipすることはできます。

0

禁止されている事は有りません。サーバーは時として入れ替えたりする関係で、同じドメイン名が常に同じIPアドレスとは成らない事が有るので、ドメイン名で接続し、IPアドレスの変更時はDNSの変更で対応出来るようにしている訳です。

0

2つのケースが考えられると思います。 一つはすでに回答に出ていますが、1つのIPアドレスで複数のバーチャルドメインを提供しているWebサーバです。たとえば、www.example.comとwww.example.orgという2つのサイトが1つのIPアドレスで運用されている場合、IPアドレス直打ちでは、どちらのドメインにアクセスしたのか判別ができないので、この場合WebサーバがIPアドレス直打ちでのアクセスを禁止しています。 もう一つは、複数のWebサーバをDNSバランシングで負荷分散しているケースです。大規模なサイトでは、FQDN(ホスト名を含めたドメイン名、www.example.comみたいなの)が複数のIPアドレスに紐付けられていて、それぞれのクライアントがそれらの中からランダムにアクセスすることで、1台のサーバでは処理しきれない量のアクセスを複数サーバに分散させますが、IPアドレス直打ちだと、1台に固定されてしまいますので、アクセスが偏る可能性があります。それを嫌ってWebサーバ(もしくはその手前のリバースプロキシ)で直打ちできないようにしている場合があります。 いずれにせよDNSサーバで禁止しているわけではなく、Webサーバ側で禁止します。IPアドレス直打ちの場合、名前解決が発生しないのでそもそもDNSサーバに聞きに行くことはありませんので、DNSサーバが制御に関与できません。

1

基本的に、IP直打ちでもアクセスは可能ですが、名前ベースのバーチャルドメインを使ったWebサーバはIPアドレス直打ちを拒否したりします 理由は簡単で、1つのIPアドレスで複数のWebサイトを運営している場合、IPアドレス直打ちだとどこにアクセスされたのかがわからないためです https://www.khstasaba.com/?p=727

1人がナイス!しています