c++ - HttpAddUrl 权限

标签 c++ windows security networking winhttp

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

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

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

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

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

最佳答案

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

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

希望澄清一下。

关于c++ - HttpAddUrl 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557565/

相关文章:

security - 调用“unsafe.Pointer(&x)”不安全吗?

java - 托管语言是否锁定刷新并重新加载 native 库的变量?

c++ - WinAPI 中的 GetLongPathName 和 GetFullPathName 有什么区别?

security - 如何在 Apache ActiveMQ 中禁用 SSLv3 协议(protocol)?

c++ - localtime 和 asctime 不安全,但安全函数没有相同的参数

c++ - 我如何找到 Win32 中的资源泄漏?

c++ - std::function 赋值应该忽略返回类型吗?

c++ - 在 C++ 中,为什么无法初始化指向函数的指针?

.net - 用文本行填充多行编辑框的方法是什么

Windows的C++内存分配