2009-08-14 12 views
1

vb2005.netのHttpListenerで外部アクセスを許可するにはどうすればよいですか?vb2005.netのHttpListenerで外部アクセスを許可するにはどうすればよいですか?

テスト目的のために、私はウェブサーバーが使用するのと同じポートを使用するように設定しているので、ファイアウォールの問題はありません。

プレフィックスがポート80 にはlocalhostを取るように設定されているレルムが設定されていない AuthenticationSchemes = Net.AuthenticationSchemes.Anonymous

それがマシン上でローカルにうまく動作しますが、上のWebブラウザで行くことがカント私のネットワーク上の他のマシン

+0

ノートを接続することを可能にするポート/パス

、私はLOCALHOST IPを追加しましたプレフィックスとコンピュータのIPをプレフィックスに変換すると、今すぐLANに接続できますが、ネット接続をテストすることができませんでした。 – Jim

答えて

0

問題はおそらく、リモートクライアントが 'yourmachinename'というホストヘッダーで 'localhost'またはIPアドレスではなく、要求を送信するためです。

HttpListenerは、localhostとローカルマシン名、およびIP(ホストヘッダーを明示的に設定しない限り)を処理するIISとは異なり、実際に応答する要求については特に気になります。

リスナーを「yourmachinename」の要求をリスンするように設定します。リモートクライアントは、リスナーと通信できるようにします。次に、ローカルテストのために、localhostからホストを変更するようにしてください。これはおそらく動作しなくなるからです。

+0

http:// yourmachinename:port? 私のプログラムに単純なウェブサーバ機能を許可するクラスをビルドすると、私はコンピュータIPを追加することでLANへのアクセスが許可されていることが判明し、apacheウェブサーバのために同じポートを使用していると仮定すると、 – Jim

+0

こんにちはジム、 はい、それは正しいと思われ、HttpListenerでは複数のプレフィックスを設定できます(例:http://msdn.microsoft.com/en-us/library/system.net)。 httpsistener.httplistener.aspx)は、リスナーが応答する完全なURI形式(Webアドレス、ポート、およびパスを含む)で指定されます。結論として、リスナーが127.0.0.1(localhost)、[local-ip]および[machine-name]に応答するようにするには、3つの接頭辞をすべてリスナーに追加して機能させる必要があります。 –

0

の代わりにホスト名を入力し、

HTTPワイルドカードを使用する:// *:これは外部のクライアントは、任意のホスト名を経由して

関連する問題