web-dev-qa-db-ja.com

ネットワーク上の別のPCからASP.NET開発サーバーにアクセスする

他のブラウザーでWebアプリをテストしたいと思います。そのためにVirtual PCをインストールしました。 ASP.NET開発サーバーはリモート接続を許可しないため、仮想PC(ネットワーク上の別のコンピューター)はWebサイトにアクセスできません。

開始した this 投稿を見つけましたが、解決策はありませんでした。

Localhostを使用しても機能しないことを理解しています。マシンのIPの使用について聞きましたが、正しいIPを取得するにはどうすればよいですか?私のlynksysルーター管理者を見てください?

私のIPを取得する限り、asp.net開発サーバーがリモート接続を許可していないことを確認してください。それを可能にするにはどうすればよいですか?

25
Paul Knopf

私はここであなたの設定についていくつか推測していますので、我慢してください:

仮想マシンがXP Professional、Vista Business、Windows 7 Professional以上の場合、開発マシンでローカルにIISを実行してアクセスできるはずです。仮想マシンの名前を介して同じネットワーク上にある別のマシンからのWebサーバー。

同様に、実際のマシンで開発を行っており、異なる仮想マシンを使用してWebアプリケーションにアクセスする場合は、IISがインストールされていることを確認し、新しいWebサイトをIISそして、仮想マシンからマシン名を介してWebアプリケーションを参照する必要があります。

どちらの方法でも、Visual Studioの組み込みのWebサーバーを使用しないでください。サイトをIISに公開して、その方法で操作してください。

幸運を祈るとともに、これが一部に役立つことを願っています。

12
Chris

答えはno(*)です。 WindowsファイアウォールTCPポートを開いている場合でも、あるマシン上のASP.NET開発サーバーに別のマシンからアクセスすることはできません。

MSDN記事 "Visual Web DeveloperのWebサーバー" から:

ローカルホストシナリオ(Webサーバーと同じコンピューターから参照)でASP.NET Webページを提供または実行するために特別に構築されています。

つまり、ASP.NET開発サーバーは、ローカルコンピューター上のブラウザー要求にページを提供します。別のコンピューターにページを提供しません。さらに、アプリケーションの範囲外のファイルは提供されません。

(*)ローカルにインストールされたIISからサイトを実行する必要があります...または、このブログ投稿で説明されているいくつかのフリーウェアを使用して、Niceハックを実行します。

Visual Studio ASP.NET開発サーバーにアクセスするiPhone

SPI Port Forward を使用してデバイス接続を受け入れると、次のようになります。

「ローカルポート」を、デバイスが接続するポート番号に設定します。通常、8080を使用します
「リモートホスト」をlocalhostに設定します
「リモートポート」をASP.NET開発サーバーポートに設定します

「アクティベート」ボタンをクリックして、接続の受け入れを開始します

(注:プログラムを管理者権限で開始していることを確認してください)

32
splattne

RINETDを使用してポート転送をセットアップする
Deatils here: http://blog.waynehartman.com/articles/218.aspx

8

IIS(またはトンネル)を使用したくない場合の別の回答: https://stackoverflow.com/a/12008223/1552178

ホストでフィドラーなどを使用します-クライアントのブラウザーを設定しますVMプロキシを使用するため、クライアントでは通常どおりlocalhost:dev_portを使用します。

クライアントからのすべての要求は、開発マシンのlocalhostにルーティングする開発マシンのプロキシに移動し、ASP.net開発サーバーは、その要求が開発マシンからのものであると見なします。

7
deive

私はこの古い質問に答えて、IISなしで動作するように人々を支援しています

1。最初のステップ

Fiddler をダウンロードする必要があります。

Fiddlerをダウンロードしてインストールしたら、それを開きます。

Tools-> Fiddler Option-> Connection tab->に移動し、「リモートコンピュータの接続を許可する」をオンにします。

enter image description here

Fiddlerを再起動します。

2。第2ステップ

この後、ネットワーク上の他のPC OR VMインターネットを開くエクスプローラー->インターネットオプション->接続タブ-> LAN設定->「LANにプロキシサーバーを使用する」にチェックを入れます

enter image description here

  1. アドレスは、DEVマシンのIPアドレスです。
  2. そしてポート8888を入れて

これで、ネットワーク上の別のPCからASP.NET Webサーバーにアクセスできるようになりました(ファイアウォール、無制限のポートなど、設定が増えているかもしれませんが、これは良いスタートです)。

アクセスするには-> http://localhost.:54814

  • 「localhost」の後の追加ポイントを忘れないでください! (ローカルlocalhostを上書きします)
  • 私の場合、ポート "54814"はASP.NET Webサーバーポートです。

注:

  • プロキシが機能するかどうかをテストするには、これを試すことができます: http://localhost.:8888
  • いくつかの構成を指摘するのを忘れたかもしれませんが、それは常にネットワークインフラストラクチャに依存しています。
4
Vinc 웃

Linux向けの実用的なソリューション

VMまたは別のホストでWindowsでASP.NET Dev Serverを実行していて、Linuxからアクセスしたい場合、これは機能するはずです。

Windowsマシンの場合

何らかの理由でASP.NET開発サーバーポートに直接接続できない場合は、まずローカルでプロキシする必要があります。

SPI Port Forward を使用してデバイス接続を受け入れると、次のようになります。

「ローカルポート」を、デバイスが接続するポート番号に設定します(例:8089「リモートホスト」をlocalhostに設定)
「リモートポート」をASP.NET開発サーバーポートに設定します

「アクティベート」ボタンをクリックして、接続の受け入れを開始します

(注:プログラムを管理者権限で開始していることを確認してください)

Linuxマシン

ローカルホストのポート8089をローカルにWindows IPに転送します(GUEST_IP_HEREを正しいIPに置き換えます)。

iptables -t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 8089 -j DNAT --to-destination GUEST_IP_HERE:8089
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -j MASQUERADE

開発サーバーはリクエストでlocalhostを明確に検索し、ホストからのhttp://GUEST_IP_HERE:8089に応答しないため、これが必要です。

1
William Casarin