15

最終的にWindowsサービス内でホストされるナンシーモジュールを作成しています。現在、WPFテストアプリケーション内で実行しています。ナンシーホスティングを開始するために、私はNancy.Hosting.Selfを使用して、次のように呼び出しています。

nancyHost = new Nancy.Hosting.Self.NancyHost(new Uri("http://localhost:8080"));
nancyHost.Start();

ローカルマシンでは、アドレスバーにhttp:// localhost:8080と入力して、Webブラウザにアクセスしてモジュールにアクセスできます。

別のマシンに移動すると、サービスにアクセスできません。Windowsファイアウォールがオフになっています。

baseUriでlocalhost以外のものを使用してホスティングを開始すると、nancyHost.Start()を呼び出すときに「アクセス拒否」例外が発生します。

足りないものはありますか?ホスティングを実行しているマシンへのIP:ポートを知っている限り、どのマシンからでもNancyモジュールにアクセスできますか?知っておく必要のある「ホストヘッダー」の種類はありますか?

これであなたの助けをありがとう。

4

3 に答える 3

26

Windowsは、許可なくポートをリッスンすることを防ぎます。管理者としてプロセスを実行するか、「netsh」を使用して権限を追加することができます。

netsh http add urlacl url = http:// +:8080 / app user = domain \ user

「+」はワイルドカードであるため、任意のIPでリッスンできます。

通常、後者はインストール中に処理するため、管理者として実行してデバッグし、インストーラーが関連するアクセス許可を設定していることを確認することをお勧めします。

于 2011-12-18T09:31:20.753 に答える