5

我正在尝试在 Windows Server 2008 机器上运行基于 WinHTTP 的自定义 Web 服务器。

我将“http://*:22222/”传递给 HttpAddUrl

当我以管理员或 LocalSystem 身份启动可执行文件时,一切正常。但是,如果我尝试将其作为 NetworkService 运行以最大程度地降低安全风险(因为应用程序没有正当理由使用管理员权限),则功能将失败并显示“拒绝访问”错误代码。

我不知道 NetworkService 对它可以监听的端口和接口有任何限制。

有没有办法以这种方式配置权限,以便我实际上可以在 NetworkService 帐户下运行应用程序并从其他互联网主机连接到它?

4

1 回答 1

7

您必须是管理员才能将 URL 添加到 http.sys URL 映射。Network Service 确实不是admin 组的成员,但是administrator 的组和System 帐户是成员。

IIS 通过拥有一个进程 inetinfo.exe 来解决这个问题,该进程以 SYSTEM 身份运行,并为作为网络服务运行的工作进程 (w3wp.exe) 设置 URL 映射。

希望能澄清一些问题。

于 2010-04-01T04:28:26.233 回答