IIS Insider - January 2006

By Jeff Cochran, IIS MVP

IIS Insider は、トラブルシューティングおよび Microsoft Internet Information Services を最大限利用する方法に関して、みなさんからの質問にお答えする月例のコラムです。

IIS Insider

文中にある企業、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人、場所および出来事は架空の話です。実際の企業、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人、場所または出来事を意図したり、関連するものではありません。

トピック
DotNetNuke およびインターネット インフォメーション サービス (IIS)DotNetNuke およびインターネット インフォメーション サービス (IIS)
IP アドレスに Web のリクエストをリダイレクトするIP アドレスに Web のリクエストをリダイレクトする
仮想ディレクトリでアプリケーション ルートを作成する仮想ディレクトリでアプリケーション ルートを作成する

DotNetNuke およびインターネット インフォメーション サービス (IIS)

Q

DotNetNuke をインストールしました。localhost では上手く動作しますが、外部から誰もページを見ることができません。既定の .htm ページで確認しましたが、動作しています。サーバーの代わりにクライアントから自分の DotNetNuke サイトを実行させるためには、IIS で何を変更する必要がありますか?

A

DotNetNuke は ASP.NET を使用する人気のポータルの構成で、IIS で実行されます。あなたの説明している状態は、IIS で Web サイトが localhost の IP address, 127.0.0.1 上でのみ回答するように設定されている場合、あるいは URL の http://localhost/ にリダイレクトするように設定されている場合に起こる場合に似ています。しかし、この場合、実際に変更されなければならないのは DotNetNuke の設定です。

DotNetNuke は、クライアントのリクエストを適切なポータルおよびページに送るために URL リダイレクトと呼ばれる技術を使用しています。このリダイレクトはホスト ヘッダーの様に要求された URL に依存します。(アプリケーションのレベルです)。質問にある問題は、ひとつの URL を使用して DotNetNuke がインストールされ、異なる URL (例:http://localhost/からそれをインストールして http://adatum.com からそれにアクセスを試みる) によってそのアクセスが行なわれようとした場合に起こります。

この問題を解決するために、要求された URL の DotNetNuke のポータルのエイリアスを追加してください。

1.

DotNetNuke のポータルに host アカウントでログオンして、Admin のメニューをクリックします。

2.

ドロップダウン メニューから サイトの設定 メニューを選択します。

3.

ポータルのエイリアス の下で 新規の HTTP のエイリアス を追加] を選択します。それから、このポータルをアクセスする URL を入力してください。 (例: この DNN ポータルを adatum/dnn としてアクセスさせたかったら、エイリアスとしてそれを追加します。)

Note: DotNetNuke は Perpetual Motion Interactive Systems, Inc. の登録商標です。

ページのトップへページのトップへ

IP アドレスに Web のリクエストをリダイレクトする

Q

私は、ホスト企業で、Web サイトを持っていますが、それを自分自身でホストしたいと思っています。自分の ISP で割り当てられた IP アドレスで実行している IIS を所有しています。http://www.widgets-inc-10.com として自分の Web サイトをアクセスするにはどうすれば良いですか?

A

IIS は、特定の IP アドレスにダイレクトされた Web リクエストを処理します。IIS はシステムにアクセスするために使用された名前はどれも確認しませんし、認識もしません。もちろん、widgets-inc-10.com のような名前は、IP アドレスを覚えるよりも容易です。DNS (ドメイン ネーム システム) は、親しみやすい名前をほとんどのインターネットおよび企業ネットワークのために、親しみにくい IP アドレスに変換するメカニズムです。

http://www.widgets-inc-10.com/ としてみなさんの Web サイトにアクセスするために、DNS は http://www.widgets-inc-10.com をみなさんの Web サーバーの IP アドレスに割り当てる必要があります。特に 参照を行なっているクライアントのコンピュータにより接続可能な DNS サーバーまたはサーバーにより名前解決が行われます。

DNS の動作方法を理解するために、例として URL の “http://www.widgets-inc-10.com/” を解析してみます。

http://は URL のために使用される プロトコル です。
wwwホストです。
widgets-inc-10ドメインで、
comトップレベルのドメイン (TLD) です。

DNS は TLD で始まる階層的な方法で構成されています。ホストアドレスを検索するのは、極めて容易です。システムはまず TLD を検索してから、正しいドメインに移ります。それからホストに向かいます。

インターネットには 12 のルート サーバーがあり、そのそれぞれが com、.net および .org のようなトップレベルのドメインを確認します。それぞれの TLD は権限を取得しているドメインを認識します。そしてそれぞれのドメインは権限を取得したホストを認識します。インターネット上では、すべてのドメインは最低一つの権限のある DNS サーバーを持っており、これはほかのサーバーがドメインに関する情報を必要とする際に確認するものです。それぞれの DNS サーバーは、DNS サーバーが権限のあるすべてのドメインにおいて、すべてのホスト名の一覧と関連の IP アドレスを保持しています。みなさんは、http://www.dnsreports.com, http://www.dnsstuff.com および http://www.dnsgoodies.com. などの多くのサイトで、特定の DNS サーバー構成を確認することができます。

ドメイン (例えば http://www.widgets-inc-10.com) を登録する際、提供するべき情報のひとつは、ドメインに権限のある DNS サーバーの名前および IP アドレスです。その登録記録は、ドメインで名前付けおよびアドレス指定の機関を判断するためにルート サーバーが使用するものです。

http://www.widgets-inc-10.com の Web サーバーをホスティング企業からみなさんのシステムに移すために、行なうことが 2 つあります。

1.

http://www.widgets-inc-10.com のドメインに権限のある DNS サーバーを設定してください。この DNS サーバーは、みなさんの IIS サーバーの IP アドレスに合う the widgets-inc-10.com ドメインの記録に追加された www のホストを持つ必要があります。

2.

みなさんのドメインのひとつの権限として、その DNS サーバーを示すために、名前の登録記録を更新してください。

みなさんは、これを行なうために自分の DNS サーバーを動作する必要はありませんが、それも可能です。もし、みなさんが自身の DNS サーバーを実行しなかったら、みなさんのドメインに権限のある DNS サーバーを実行している人はだれでも変更を行なう必要があります。みなさん自身が DNS サーバーを実行している場合は、自分で変更を行なうことが可能です。もし、皆さんが Web サーバーの名前解決のみを必要とする場合、そしてその情報がまれに変更される場合には (ほとんどの場合、サービス プロバイダの変更がある場合のみ変更します)、みなさんの ISP または名前登録に DNS を処理させる方がより便利です。

自分自身の DNS サーバーを実行することに関する詳細情報については以下をご覧ください。

Windows Server 2003 で DNS サーバーをインストールして構成する方法

Windows Server 2003 で Web サイトの DNS レコードを構成する方法

ページのトップへページのトップへ

仮想ディレクトリでアプリケーション ルートを作成する

Q

新たな Web アプリケーションを作成し、私のホスティング サイトにアップデートしましたが、動作しません。それは、仮想ディレクトリでなければならないのですか?

A

Web アプリケーションは仮想ディレクトリにある必要はありませんが、アプリケーション ルートになければなりません。仮想ディレクトリはアプリケーション ルートになり得ますが、その必要はありません。このように、アプリケーション ルートは仮想ディレクトリでも、標準のディレクトリで作成されることも可能です。

仮想ディレクトリは、物理フォルダの通常の階層外のコンテンツをその Web サイトにより提供されるようにできます。ファイルが実際にある場所を示すポインターとして考えてください。みなさんは、 IIS の管理コンソールを使用して仮想ディレクトリを作成可能です。

IIS の管理コンソールで仮想ディレクトリを作成する

1.

Web サイトを右クリックして、 [すべてのタスク]、次に [新しい仮想ディレクトリ] を選択します。

2.

仮想ディレクトリのフォルダに名前を付けます。

これは、コンテンツが要求された場合に、URL として示される名前です。例えば、もし「virtual directory folder_1」と名前を付けたら、仮想ディレクトリが「folder_2」という名前のフォルダをポイントしていたとしても URL は http://www.example.com/folder_1/ のようなものになります。みなさんは、Web サイトのリンクを更新しないで、仮想ディレクトリがポイントする場所を変更することによりこの機能を利用することができます。

仮想ディレクトリは既定ではアプリケーション ルートとして作成されていません。Web サイトの唯一の既定のアプリケーション ルートは、Web サイトのルート フォルダです。標準フォルダおよび仮想ディレクトリのほかのすべては、正しく実行されるために、ASP.NET Web アプリケーションのアプリケーション ルートとして指定される必要があります。

フォルダまたは仮想ディレクトリにアプリケーション ルートを作成する

1.

IIS MMC (Microsoft 管理コンソール) で、フォルダまたは仮想ディレクトリを右クリックして、[プロパティ] を選択してください。

2.

「アプリケーションの設定」で、[ディレクトリ] のタブを選択します。

3.

[作成] をクリックして、アプリケーション名を入力します。既定の名前は実行しているフォルダ名を反映します。

4.

アプリケーション ルートを作成するために [OK] をクリックします。MMC のアイコンは歯車型のアプリケーション アイコンに変更されます。

便宜上、そしてより高い安全性のために、Web アプリケーションのファイルを Web フォルダの階層外に保存することができます。Web フォルダの階層外のファイルは HTTP によって直接アクセスされることが出来ないので、仮想ディレクトリで処理されることなしには、ブラウザで取得されることができません。

アプリケーション ルートではなく、仮想ディレクトリです。

[作成] ボタンは仮想ディレクトリまたはフォルダに Web アプリケーション ルートを作成するために使用されます。

既定のアプリケーション名は仮想ディレクトリまたはフォルダ名ですが、新規に名前を入力することができます。

アプリケーション ルートは歯車型のアイコンにより示されます。


関連情報

これまでの IIS Insider コラムの質問と答えの一覧は、クリック してください。

ページのトップへページのトップへ