2

Windows サービスとして実行する RavenDB をインストールしようとしています。デフォルトでは、ローカル システム アカウントで実行するように設定されているため、専用アカウントで実行することでセキュリティ リスクを軽減しようとしています。プログラム ディレクトリ c:\Program Files\RavenDB とデータ ディレクトリ d:\Data\RavenDB の両方に対して、ファイル システムへのフル アクセスを既に許可しています。ただし、サービスを開始しようとするとすぐに失敗し、イベント ログに次のエラーが記録されます。

RavenDB service failed to start because of an error
System.Net.HttpListenerException (0x80004005): Access is denied
   at System.Net.HttpListener.AddAllPrefixes()
   at System.Net.HttpListener.Start()
   at Raven.Database.Server.HttpServer.StartListening() in c:\Builds\RavenDB-Stable\Raven.Database\Server\HttpServer.cs:line 350
   at Raven.Server.RavenDbServer..ctor(RavenConfiguration settings) in c:\Builds\RavenDB-Stable\Raven.Server\RavenDbServer.cs:line 43
   at Raven.Server.RavenService.<OnStart>b__0() in c:\Builds\RavenDB-Stable\Raven.Server\RavenService.cs:line 37

では、RavenDB を実行するようにユーザーを構成するにはどうすればよいでしょうか? どのような権限を付与する必要がありますか? RavenDB のドキュメントとフォーラムを確認しましたが、この問題について議論されている場所は見当たりませんでした。

4

1 に答える 1

5

サービス アカウントの URL ACL が欠落していると思われます。管理者としてコマンド プロンプトを開き、次のように入力します。

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

これにより、このポートの HttpListener を作成するために、サービス アカウントに必要な権限が付与されます。

于 2013-01-14T21:58:41.550 に答える