自宅には、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ファイアウォールを無効にしましたが、喜びはありません。
典型的なウェブ開発者のように、私のハードウェア/ネットワークのスキルはかなり貧弱です。
誰が私が間違っているのかを見ることができますか?
他の人が言ったように、ファイアウォールは着信コールを受け入れるように設定する必要があるTCPポート80。
勝ち7+(簡単な魔法の方法)
outboundトラフィック(サーバーから外部へ)が許可されているためデフォルトでは .itは、たとえば、Webサーバーが外部のユーザーとリクエストに送り返すHTTP応答を意味します
ただし、inboundトラフィック(外部からサーバーへのトラフィック)はデフォルトでブロックされますデフォルトでWebサーバーにアクセスできないブラウザから発信されたユーザーWeb要求のように、それを開く必要があります。
このページ でインバウンドとアウトバウンドのルールを詳しく見ることもできます。
4321のようなIISの特定のポートでWebサイトをホストしている場合、このポートをWindowsファイアウォール経由で許可する必要があります。も。これが私のために機能するために私がimanabidiの答えと一緒に従ったステップです:
まず、サーバーのLAN IPに接続してみてください。 IISが1つのWebサイトのみで設定されている場合、あなたのサイトがポップアップする可能性があります。
名前でアクセスする場合は、サイトを表示するすべてのクライアントPCのHOSTSファイルにエントリを追加する必要があります(明らかに127.0.0.1ではなく、サーバーのローカルIPアドレスに)。
また、ポート80で着信コールを受け入れるようにファイアウォールを構成する必要があります。
通常、これは、「mysite.dev」などの名前を中央で登録できるDNSサービスを設定する方が理にかなっている点であり、hostsファイルに手を出す必要はありません。しかし、それは別の話であり、superuser.comまたはserverfault.comに属します。
ファイアウォール設定を開きます。次に、次のようなものを検索します-プログラムまたは機能がファイアウォールを通過できるようにします。リストでWorld Wide Webサービス(HTTP)のチェックが外されている場合は、チェックしてシステムを再起動します。
私たちのマシンはすべて、インバウンド要求を受け入れるように設定されています。
非常に遅い回答ですが、数年前にネットワークを介してIISサイトを設定する必要があったため、いくつかのポイントを強調します
168.192.x.x
またはhttp://his-pc-name
経由でリモートマシンにアクセスします(http部分を忘れないでください)IISがリモートマシンで正常に動作していることを確認するには、デフォルトサイトを提供するlocalhost
をチェックします。また、ポート80を介した接続を許可するようにファイアウォールが設定されていることを確認するか、テストのために当面の間ファイアウォールを無効にすることもできます。
遅いかもしれませんが、将来このような問題が発生する可能性のある他の人、サーバー(この場合は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
そしてあなたはやりました
Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab".
それは私のために働いた
ウイルス対策をインストールした後、この問題に直面し、ファイアウォールが自動的にオンに設定されていることに気付きました。今ではfirewall offを設定するだけで問題が解決しました。それが誰かを助けることを願っています:)
ファイアウォールの変更に加えて、ポートバインディングも追加することを忘れないでください!
$(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/
127.0.0.1は常にローカルホストを指します。ホームネットワークでは、インターネットルーター(dsl/cablemodem/whatever)によって割り当てられたIPアドレスが必要です。 Webサイトをこのアドレスにバインドする必要があります。その後、マシン名を使用してWebサイトにアクセスできるはずですが、問題のクライアントコンピューターのホストファイルを実際に編集して、そのコンピューターを特定の名前に指定することをお勧めします。ホストファイルはc:\ windows\system32\drivers\etc\hosts(メモ帳を使用)にあり、エントリは次のようになります。
192.168.1.1 mycomputername