Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

Windowsにインターネットインフォメーションサービス(IIS)をインストールすると、空の「デフォルトのWebサイト 」はデフォルトで作成され、標準のWeb HTTPポート( TCP 80 )でリッスンします 。 IISの用語では、これはこのサイトがポートTCP/80にバインドされていることを意味します。このサイトを開くには、IISサーバーの名前を入力するだけです(“https://web-srv1” )またはそのIPアドレス(“https://192.168.1.100” )ブラウザで。 1つのIISWebサーバーで数十から数百のWebサイトにサービスを提供でき、そのサーバーで複数のWebサイトを実行して、同じTCPポート(80、443など)でリッスンおよび応答できます。ただし、IISマネージャーのインターフェイスでは、他のポート(8080など)にバインドせずに別のWebサイトをホストできることは明らかではありません。この記事では、同じIISサーバーで複数のWebサイトをホストし、それらを同じポートとIPアドレス、または異なるIPアドレスにバインドする方法を示します。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

内容:

  • IISWebサイトのバインド
  • ホストヘッダーを使用してIISで複数のWebサイトをホストする
  • IISで異なるIPアドレスを使用して複数のサイトを実行する
  • PowerShellを使用したIISサイトバインディングの管理

IISWebサイトのバインド

WindowsServerで実行されている単一のWebIISサーバーは、複数のWebサイトをホストできます。ただし、IISがHTTP要求を正しく配布するには、各Webサイトを一意の値で識別する必要があります。 IIS Webサイトの場合、Webサイトごとに一意の組み合わせを構成する3つの属性で構成されます。これらは次のとおりです。

  • TCPポート番号
  • IPアドレス
  • ホストヘッダー(ホスト名)

ホストされているWebサイトに関する情報は、 ServerBindingsに保存されます。 次の形式のIISメタベースの属性:IP:Port:Hostname 。したがって、同じポートとIPアドレスで複数のWebサイトをホストする場合は、一意のホストヘッダーを使用する必要があります。 。それは何ですか?ホストヘッダーは、クライアントから送信されるサーバーへのHTTPリクエストの一部であり、アドレス先のWebサイトを指定します。したがって、このホストヘッダーはWebサーバー側で指定する必要があり、DNSには、IISWebサーバーのホスト名とIPアドレスに一致する正しいレコードが含まれています。

IISで実行され、80ポートをリッスンしているWebサイトがあるとします。また、2番目のWebサイトを同じポートにバインドする必要があります。

IISマネージャーで、別のWebサイトを作成します(Webサイトの追加 )名前がTestSiteで、ファイルはc:\ inetpub \ TestSiteにあります(ホスト名はまだ指定しないでください)。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

[OK]をクリックすると、バインディングを使用できないという警告が表示されます *:8 0 両方のサイトで。

Add Website
The binding '*:80:' is assigned to another site. If you assign the same binding to this site, you will only be able to start one of the sites. Are you sure that you want to add this duplicate binding?

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

この警告に同意します。したがって、ポート80にバインドされた別のサイトがあるため、最初のサイトを停止せずに開始することはできません。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

ホストヘッダーを使用してIISで複数のWebサイトをホストする

一意のバインディングを作成するには、2番目のIIS Webサイトに別の名前(ホスト名)を指定します。 TestSiteを右クリックします 編集を選択します バインディング 。必要なバインディングを選択し、編集をクリックします 。

ホストで、TestSiteなど、ユーザーがアドレス指定する一意のホスト名を指定します 名前 フィールド。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

コマンドプロンプトを使用して、IISサイトバインディングを構成できます。この場合、IIS 7以降の場合、バインディングを構成するコマンドは次のようになります。

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

これで、2番目のWebサイトも開始できます。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

サーバー(AまたはCNAME)のDNSエイリアスを、IISWebサーバーのIPアドレスまたはホスト名を指すように追加するだけです。 Active Directoryドメインを使用している場合は、ドメインコントローラーでDNSレコードを作成する必要があります。

CNAMEを作成できます DNSコンソールの名前テストサイトのレコード(dnsmgmt.msc )、IISサーバーのドメイン名をFQDNターゲットホストとして指定します。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

このDNSレコードは、PowerShellを使用して作成することもできます:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

https://TestSiteを開いてみてください ブラウザで。正常に開くはずです。

同じポートまたはIPアドレスで複数のIISWebサイトを実行する

ここに言及する価値のあるいくつかの有用なメモがあります。

スタンドアロンのIISサーバーを使用している場合、サーバーのIPアドレスへのサイト名のマッピングは、ファイルC:\Windows\system32\drivers\etc\hostsを介して行われます。

バインド設定は、IIS構成ファイルC:\Windows\System32\inetsrv\config\applicationHost.configのIIS構成ファイルセクションに保存されます。 。

この場合、このセクションには次のデータが含まれています。

<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
</bindings>
</site>
<site name="TestSite" id="2" serverAutoStart="true">
<application path="/" applicationPool="TestSite">
<virtualDirectory path="/" physicalPath="C:\inetpub\TestSite" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:TestSite" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
<traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
</siteDefaults>
<applicationDefaults applicationPool="DefaultAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

同様に、IISWebサーバーの同じポートで数百のサイトをホストして実行できます。

IISで異なるIPアドレスを使用して複数のサイトを実行する

次に、IISWebサーバー上の2つのサイトを異なるIPアドレスで実行してみましょう。まず、Windows Serverに別のVLANインターフェイスを追加するか、NICに追加のIPアドレス(エイリアス)を割り当てる必要があります。

この例では、サーバーのメインIPアドレスは192.168.13.100であり、同じネットワークアダプターに追加のIPエイリアス192.168.13.101を追加します。

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True

次に、DNSサーバー上に新しいサイトのAレコードを作成する必要があります( –CreatePtr を使用して、逆引きゾーンにPTRレコードを追加で作成します。 オプション):

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

サイトバインド設定を開き、サイトをホストの追加のIPアドレスにバインドする必要があります。

PowerShellを使用したIISサイトバインディングの管理

PowerShellを使用して、IISサーバー上のサイトのバインドを管理できます。このために、WebAdministrationモジュールが使用されます:

Import-Module WebAdministration

利用可能なすべてのIISサイトとそのバインディングに関する情報を表示します:

Get-IISSite

または単一のサイトについて:

(Get-Website -Name NewSite).bindings.Collection

protocol bindingInformation sslFlags
-------- ------------------ --------
http 192.168.13.101:80:NewSite3 0

このサイトのバインディングを変更するには(IPアドレス、ポート、または名前を変更できます):

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

特定のIISサイトに新しいバインディングを追加するには、次のコマンドを実行します。

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

バインディングを削除するには:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

したがって、IIS Webサーバー上で、異なるIPアドレスと同じIPアドレスおよびTCPポート番号の両方で複数のサイトを実行できます。


  1. 複数のGmailアカウントを同時に使用するにはどうすればよいですか?

    それが学校、仕事、またはいくつかの不幸な状況(恥ずかしいほど愚かなまたは専門的でないプライマリ電子メールアドレスを持っている多くの人々)のためであるかどうかにかかわらず、ほとんどすべての人が人生のある時点で追加の電子メールアカウントを所有していることに気付きます。この追加の電子メールアカウントは、メインの電子メールアドレスと同時に監視、管理、および使用する必要があります。 2つのメールアカウントが異なるメールサービスを使用している限り、問題はありません。ただし、両方のメールアカウントが同じプロバイダー(Gmailなど)に登録されている場合は、明らかな問題が発生します。それではどうしますか?

  2. Android で同じ人物の複数の連絡先を削除する方法

    スマートフォンの出現により、モバイル デバイスで連絡先リストを管理し、数回タップするだけで電話をかけることが非常に便利になりました。ただし、連絡先に関連する問題が Android フォーラムで強調表示されており、同様の情報で複数の連絡先が作成される問題について説明しています。これらの類似した連絡先は多くのストレージ スペースを占有しませんが、多くの場合、大きな混乱を引き起こすため、複数の連絡先を削除する方法についてこのガイドを書きました。 Android で同じ人物の複数の連絡先を削除する手順 Android で複数の連絡先を削除するには、手動と自動の 2 つの方法があります。 Androi