web-dev-qa-db-ja.com

1つのIIS6サーバーで複数のドメイン/ Webサイトをホストする方法

現在、1つのWebサイト/ドメインをホストするIIS6サーバーがあります。この同じサーバーでホストする別のWebサイト(完全に別のもの)を開発しています。どちらのドメインもGoDaddyから購入しました。

ドメイン名に基づいて着信要求を内部でルーティングするには、サーバー側のISAPI書き換えフィルターが必要だと思います。これは無料なので、 IonicのISAPI Rewrite Filter を使用してこれを行う予定です。 ISAPIフィルターをインストールしてIISのWebサイトに適用する方法は知っていますが、着信要求を(ドメインに基づいて)正しくルーティングする方法がわかりません。

また、複数の「Webサイト」または「仮想ディレクトリ」を設定するのが賢明かどうかもわかりません。これは構成方法に依存すると思います。

これを達成するにはどうすればよいですか?

6
Josh Stodola

書き換えルールはまったく必要ありません。新しいWebサイト構成をセットアップする必要があります。 IIS 6は、新しいIPアドレスを使用して(サーバーに複数のIPアドレスがあるため)、またはホストヘッダーを使用してドメインをWebサイト構成にリンクすることにより、Webサイトを区別できます。

ここから始めてみてください: 単一サーバーで複数のWebサイトをホストする(IIS 6.0) および ホストヘッダーを使用してIIS 6. で複数のWebサイトをホストする)

7
Moo

ここでは問題ありません。 IIS 6は何百ものWebサイトをホストできます-同じIPアドレスであっても(httpsを除いて専用IPアドレスが必要です)-ホストヘッダー(ドメイン名)でそれらを区別します。

このMicrosoftサポート記事をお読みください: 方法:ホストヘッダー名を使用してインターネットインフォメーションサービス6.0で複数のWebサイトを構成する

Microsoftインターネットインフォメーションサービス(IIS)では、ホストヘッダー名と呼ばれる機能を使用して、同じポート番号を持つ複数のWebサイトを単一のIPアドレスにマップできます。各Webサイトに一意のホストヘッダー名を割り当てることにより、この機能により、1つのIPアドレスに複数のWebサイトをマップできます。

IonicのISAPIRewriteフィルターはWebサイトに適用されていると思います。各Webには独自の定義ファイルがあります。 IIS)サーバーで同様のフィルター(ISAPI Rewrite)を使用していますが、サーバー上の多くのWebサイトに問題はありません。

3
splattne

あなたが探しているのはホストヘッダーだけです。 Hostヘッダーが異なる限り、複数のサイトが同じポートを共有できます。サイトのプロパティに移動し、[IPアドレスバインディング]ドロップダウンの横にある[詳細]ボタンの下で、サイトのポートとホストヘッダーを編集できます。

それ以上のドラマはありません。 ;)

2
Brandon

Splattneなどは正しい-IIS6だけで複数のWebサイトをホストできます。

IIRFのようなリライタは、リクエストが届いたときにリライトするのに便利です。たとえば、Host2に「通常」関連付けられているvdirによって処理されるように、Host1.domain.comに到着するリクエストをサーバー側でリライトできます。

複数のWebサイトをホストするためにURLの書き換えは必要ありません。

1
Cheeso

みんなの答えに加えて、私はIISを構成するために簡単なローカルテスト環境でそれを行うためにいくつかの問題を抱えていました。それは、私たちが望むようにそれ自体では機能しません。

だから他の人がここで言ったことを集めて、私は Multiple IIS Sites is using Host Header Names であり、それは かなり簡単にセットアップできると思います (リンクについてMooに感謝します)IIS 6の場合、サイトが既に作成されている場合は、「Bindings」に移動するだけです。簡単に googleで参照を検索 そのため。

古いIIS

alt text

IIS 6

alt text

次に hostsファイルを設定するため が必要でした。これは1つのサイトでは十分に簡単ですが、複数のサイトでは少し厳しいので、IISでこれを実行できると期待しています。そのような運はありません。 自分でやるだけ

ホスト

alt text

もちろん、DNSで行う方が確かに優れていることを除いて、これはすでに誰もが言ったことのすべてです...しかし、これはローカルテストには十分であり、IIS =それを行うオプション。

0
cregox