web-dev-qa-db-ja.com

ネットワーク上の他のマシン上のIISホストサイトを表示する

自宅には、2台のマシンを含む簡単なネットワーク設定があります。

1台のマシンにIIS7でホストされているサイトがあります。標準のlocalhost/index.htmアドレスではなく、このドメインへのローカルIP(127.0.0.1)を指すHOSTSファイルにエントリを追加しました-www.mysite.dev

www.mysite.devで問題なくサイトにアクセスできます。

私がやりたいのは、ネットワーク上の他のマシンからこのサイトを表示できるようにすることです。

最初は、これはMACHINE-NAME/www.mysite.devのようなURLで実行できると想定していましたが、接続は常にタイムアウトします。しかし、MACHINE-NAMEを問題なくpingできます。

テストのために、両方のマシンでWindowsファイアウォールを無効にしましたが、喜びはありません。

典型的なウェブ開発者のように、私のハードウェア/ネットワークのスキルはかなり貧弱です。

誰が私が間違っているのかを見ることができますか?

95
Truegilly

他の人が言ったように、ファイアウォールは着信コールを受け入れるように設定する必要があるTCPポート80

勝ち7+(簡単な魔法の方法)

  1. 高度なセキュリティを備えたWindowsファイアウォールに移動します
  2. インバウンドルール->アクション->新しいルール
  3. Predefinedラジオボタンを選択し、最後の項目を選択します-World Wide Web Services(HTTP)
  4. [次へ]をクリックし、次の手順をそのままにします(接続を許可します

  • outboundトラフィック(サーバーから外部へ)が許可されているためデフォルトでは .itは、たとえば、Webサーバーが外部のユーザーとリクエストに送り返すHTTP応答を意味します

  • ただし、inboundトラフィック(外部からサーバーへのトラフィック)はデフォルトでブロックされますデフォルトでWebサーバーにアクセスできないブラウザから発信されたユーザーWeb要求のように、それを開く必要があります。

このページ でインバウンドとアウトバウンドのルールを詳しく見ることもできます。

149
Iman Abidi

4321のようなIISの特定のポートでWebサイトをホストしている場合、このポートをWindowsファイアウォール経由で許可する必要があります。も。これが私のために機能するために私がimanabidiの答えと一緒に従ったステップです:

  1. Windowsファイアウォール>詳細設定
  2. インバウンドルール>新しいルール
  3. ポートを選択>次へ
  4. 特定のローカルポート>許可するポートを追加します
  5. すべての接続を許可
  6. 後で覚えられるように、名前と説明を入力します
  7. 完了
31
Syed Ali Taqi

まず、サーバーのLAN IPに接続してみてください。 IISが1つのWebサイトのみで設定されている場合、あなたのサイトがポップアップする可能性があります。

名前でアクセスする場合は、サイトを表示するすべてのクライアントPCのHOSTSファイルにエントリを追加する必要があります(明らかに127.0.0.1ではなく、サーバーのローカルIPアドレスに)。

また、ポート80で着信コールを受け入れるようにファイアウォールを構成する必要があります。

通常、これは、「mysite.dev」などの名前を中央で登録できるDNSサービスを設定する方が理にかなっている点であり、hostsファイルに手を出す必要はありません。しかし、それは別の話であり、superuser.comまたはserverfault.comに属します。

9
Pekka 웃

ファイアウォール設定を開きます。次に、次のようなものを検索します-プログラムまたは機能がファイアウォールを通過できるようにします。リストでWorld Wide Webサービス(HTTP)のチェックが外されている場合は、チェックしてシステムを再起動します。

私たちのマシンはすべて、インバウンド要求を受け入れるように設定されています。

6

非常に遅い回答ですが、数年前にネットワークを介してIISサイトを設定する必要があったため、いくつかのポイントを強調します

  1. 両方のマシンを同じネットワークに接続する必要があります(同じワイヤレスネットワークでも構いません)
  2. IP 168.192.x.xまたはhttp://his-pc-name経由でリモートマシンにアクセスします(http部分を忘れないでください)
  3. これにより、デフォルトのIISページがリモートマシン(localhost経由で提供されるものと同じ)にサーバーされます。別のサイトにサーバーを提供したい場合は、[デフォルトに設定する必要があります]最初に 1

IISがリモートマシンで正常に動作していることを確認するには、デフォルトサイトを提供するlocalhostをチェックします。また、ポート80を介した接続を許可するようにファイアウォールが設定されていることを確認するか、テストのために当面の間ファイアウォールを無効にすることもできます。

3
Hammad Khan

遅いかもしれませんが、将来このような問題が発生する可能性のある他の人、サーバー(この場合はiisまたはxamppに関係なく、Webアプリケーションをホストするマシン)に接続する場合は、ファイアウォールで使用される特定のポートを介した接続またはトラフィックを許可する必要がある

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

そしてあなたはやりました

2
Antoh
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

それは私のために働いた

2
Santhosh Legent

ウイルス対策をインストールした後、この問題に直面し、ファイアウォールが自動的にオンに設定されていることに気付きました。今ではfirewall offを設定するだけで問題が解決しました。それが誰かを助けることを願っています:)

1
Bhavin Chauhan

ファイアウォールの変更に加えて、ポートバインディングも追加することを忘れないでください!

$(SolutionDir)\.vs\config\applicationHost.configを開き、バインディング定義を見つけます。次のようになります。

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

マシンのIPと指定ポートを反映するために、余分な行を追加するだけです

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

ソース: https://blog.falafel.com/expose-iis-express-site-local-network/

1
Korayem

127.0.0.1は常にローカルホストを指します。ホームネットワークでは、インターネットルーター(dsl/cablemodem/whatever)によって割り当てられたIPアドレスが必要です。 Webサイトをこのアドレスにバインドする必要があります。その後、マシン名を使用してWebサイトにアクセスできるはずですが、問題のクライアントコンピューターのホストファイルを実際に編集して、そのコンピューターを特定の名前に指定することをお勧めします。ホストファイルはc:\ windows\system32\drivers\etc\hosts(メモ帳を使用)にあり、エントリは次のようになります。

192.168.1.1     mycomputername
0
Joel Etherton