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


101

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

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

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

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

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

テストの目的で、両方のマシンでWindowsファイアウォールを無効にしましたが、うれしくありません。

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

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


MACHINE-NAMEに接続しただけですか?
Lazarus

回答:


155

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

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

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

  • ので、アウトバウンド(サーバから外の世界への)トラフィックが許可され、デフォルトでは、たとえば.IT手段HTTP Webサーバーがバック外部のユーザーや要求に送信していることを回答

  • ただし、ブラウザから発信されたユーザーのウェブリクエストがデフォルトでウェブサーバーに到達できず、ユーザーが開く必要があるように、インバウンド トラフィック(外部からサーバーに発信)はデフォルトでブロックされます

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


それでも機能しない場合は、少なくとも開発環境ではファイアウォール自体をオフにできます。
USER_NAME、2015年

@Contristo、私の感情は正確に:)
Bryan Rayner

1
@hitesh、オンになっているファイアウォールを介してポート80を開くだけです。ポートを追加する権限さえない場合は、通常、関連するサポートチームにこのサーバーのこのポートを開くよう依頼する必要があります
Iman

1
@Hitesh:80以外のポートでサイトをホストし、そのポートのみを許可することができます。その方法については、以下の私の答えを参照してください。
Syed Ali Taqi

1
セキュリティが強化されたWindowsファイアウォールへのクイックアクセス:Win + Rと入力しmmc.exe wf.mscます。
facepalm42

35

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

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

10

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

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

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

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


1
ファイアウォールはここで最も重要な部分です。
ピエール

6

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

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


3

非常に遅い回答ですが、ネットワーク全体にIISサイトをセットアップする前に何年か前に対処しなければならなかったので、いくつかのポイントを強調します。

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

localhost既定のサイトを提供する必要があるものをチェックして、リモートマシンでIISが正常に動作していることを確認します。また、ファイアウォールがポート80経由の接続を許可するように設定されていることを確認してください。そうでない場合は、テスト目的でファイアウォールを一時的に無効にできます。


ワークステーション名の代わりにIPを使用するとうまくいきました。乾杯!
hatsrumandcode 2018

3

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

$(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/


2
ポートバインディングは私にとって重要なステップでした!デフォルトではIPアドレスを介したアクセスを許可しないIIS Expressを使用していました(localhostのみ)。したがって、この手順がなければ、より高い評価の答えは私にとってうまくいきませんでした!
JonoB 2018


2

遅いかもしれませんが、将来このような問題が発生する可能性のある他の人、サーバー(この場合は、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

そしてあなたはやった


1

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


0

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

192.168.1.1     mycomputername

@JenishZinzuvadiya:なに?コメントは意味がありません。
Joel Etherton、2015

-1

次の手順を実行する必要があります。

IISに移動します-> サイト-> Webサイトをクリックします->
動作中 編集権限をクリックします-> セキュリティ-> 追加をクリックします-> 詳細設定-> 今すぐ検索-> すべてのユーザーを追加します-> すべての権限を付与します他のユーザーへ-> OKをクリックします。








上記を適切に行うと、ドメインを使用してWebサイトにアクセスできます。
提案-サイトにホスト名を追加しないでください。問題が発生することがあります。したがって、マシンのIPアドレスを使用してWebサイトをホストしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.