72

開発用にIISExpressでホストされているWebサイト(MVC3)があります。(Cassini Devserverのバグに遭遇し、アップグレードする必要がありました...)さて、ローカルネット(ルーターの背後)にある他のマシンに、自分のマシンでホストされているサイトを表示させることはできますか?(たとえば、http://my.local.ip:portを私と同じLAN上のブラウザに書き込むと、ページが読み込まれますか?)

4

6 に答える 6

122

既定では、IISExpressはローカルホスト要求のみを処理します。外部リクエストを処理するapplicationhost.configには、ファイル(にあります)を編集し、またはマシン名に%userprofile%\documents\iisexpress\config\変更localhostします。'*'(非ローカルホストバインディングの場合は、管理者として実行するか、URL aclを管理者として設定してから、iisexpressを非管理者として実行する必要があることに注意してください)

于 2011-03-09T17:38:26.077 に答える
13

または、 AnalogXのPortMapperなどを使用して、ローカルホストにバインドされたポートをパブリックに開いているポートにトンネリングする小さなループバックプロキシとして機能させることもできます。

例えば、

  • IISExpressはローカルホストにバインドされています:8080
  • PortMapperポート9090は、トラフィックをlocalhost:8080に中継するように構成されています

事実上、ポート9090PortMapperによって開かれる)の接続はすべてlocalhost:8080にトンネリングされます。それにより、時には苦痛になる可能性のあるすべてのnetshナンセンスをバイパスします。

以下は私の構成です:

PortMapper構成

このプロキシ方式を使用する利点は、ローカル開発ボックスで開いているIISExpressポートを永続的に公開しないことです。

まれに、会議のためにポートを公開したい場合があります。ただし、ほとんどの場合、ポートは閉じており、ローカルホストからのみアクセスできます。ルーターのファイアウォールルールを毎回変更するのは面倒です。これが私が物事をセットアップする方法です:

  • 私のルーターファイアウォールは9090ポートをPortMapperに転送します
  • PortMapperは、 PortMapperが実行されている場合にのみ、トラフィックをIISExpress8080でリッスン)にプロキシし続けます。

ノート

変更を有効にするには、必ずすべてのPortMapperウィンドウを閉じてください。

注2

他の人が説明しているように、アプリケーションのIISExpressバインディングを調整する必要があるかもしれません。

 My Documents\IISExpress\applicationhost.config
 project\.vs\config\applicationhost.config

次のようなものに:

<bindings>
  <!-- bindingInformaiton format:
          IPToBindTo:Port:DNSHostName -->

  <!--OLD:
  <binding protocol="http" bindingInformation="*:8080:localhost"/>-->

  <!--Change '*' to 127.0.0.1 and remove 'localhost' right of the port number
      to avoid invalid DNS hostname errors -->
  <binding protocol="http" bindingInformation="127.0.0.1:8080:" />

</bindings>
于 2013-07-09T22:42:53.550 に答える
6

これを成功させるには、3つのステップがあると思います。

1)他のマシンが開発マシンのIPアドレスを検索できるように、DNSエントリまたはホストエントリを追加します

2)次のように%userprofile / document / IISExpress/Configのapplicationhost.configにバインディングを追加します

<site name="MobileDashboard(2)" id="7">
                <bindings>
                    ...
                    <binding protocol="http" bindingInformation="*:yourport#:yourmachinendnsname" />
                </bindings>
            </site>

3)ここにあるコマンドを実行して、着信要求を許可します。

netsh http add urlacl url=http://yourmachinendnsname:yourport#/ user=everyone
于 2013-02-06T13:42:56.500 に答える
4

このスレッドの答えは素晴らしいです、それはファイアウォールの例外を除外するだけです。

netsh advfirewall firewall add rule name="IIS Express (non-SSL)" action=allow protocol=TCP dir=in localport=8000

netsh advfirewall firewall add rule name="IIS Express (SSL)" action=allow protocol=TCP dir=in localport=44300

コメントからの出典@http ://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx

于 2013-08-13T10:36:15.293 に答える
2

http://blogs.microsoft.co.il/blogs/shair/archive/2008/12/15/how-to-use-fiddler-on-localhost.aspxのFiddlerのカスタムルールトリックは、最終的にはうまくいきました。

于 2012-07-29T09:14:51.100 に答える
0

はい、ローカルLANで使用するためにiis Expressを使用して、いくつでもサイトを構成できます。リンクは、これを実現する方法を説明するLanIISExpressからのローカルサイトへのアクセスです。

于 2014-10-03T09:24:32.923 に答える