【问题标题】:access denied named pipes in WebAPI on IIS在 IIS 上的 WebAPI 中访问被拒绝的命名管道
【发布时间】:2020-10-09 01:58:09
【问题描述】:

为了控制 Windows 服务(和其他一些东西),我们使用 WebAPI。对于 API 和 Windows 服务之间的通信,我使用了 NampedPipe。当我在 Visual Studio 中运行代码时,一切正常。将 api 部署到 IIS 后,它得到一个 IO 异常access denied。这是配置问题还是无法从 IIS API 访问 NamedPipes?

不同的方法可以做什么? ip连接?

感谢您的帮助!

编辑

经过一些研究和尝试和错误,我得出结论:要让 NamedPipes 工作,两个进程必须在同一用户下运行。 因此,我为服务和 iis 网站分配了同一个用户,并尝试了一下,它成功了。

在不同用户的 iis 上运行网站是否安全?

【问题讨论】:

  • 您可以尝试在 URLACL 中注册端口。 netsh http add urlacl ....

标签: c# iis asp.net-web-api named-pipes


【解决方案1】:

在 IIS express 中激活应用程序 当您在开发环境中调试应用程序时。在 IIS express 中,您当前的登录用户用于执行应用程序。

但是,当您在 IIS 中部署应用程序时,所有内容都由应用程序池标识执行并在会话 0 中隔离。

所以大多数时候,您可以尝试将应用池标识设置为本地系统。

由于本地系统授予应用程序过多的权限,使用专用帐户来托管您的 IIS 应用程序是个好主意。

只要你遵循最少权限原则,为你的网站使用不同的用户就可以安全了。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多