IIS 虚拟目录权限不断丢失

IIS 虚拟目录权限不断丢失

我有一个在 Windows Server 2012 R2、IIS 8.5.9600.16384 上运行的网站。该网站有多个虚拟目录,指向一个文件共享,从中检索文档(主要是 PDF)。所有这些虚拟目录都使用自定义标识作为“连接为...”选项,并且“测试设置...”按钮返回成功结果。

自从我们上线以来,用户在尝试通过虚拟目录访问这些服务器上的文件时偶尔会收到 500 错误。我当时能够重现该问题。奇怪的是,重新启动 IIS 可以暂时完全解决问题。稍后(通常是一两天),问题又会再次出现。它似乎会随机影响各种虚拟目录;当一个出现故障时,其他的可能会或可能不会工作,但重新启动可以解决所有问题。

我根本不知道该如何解决这个问题。有什么想法吗?

答案1

几个月前,我收到另一位 stack 用户的电子邮件(不幸的是我不知道他的用户名),问了我同样的问题:IIS 上的文件访问随机中断并返回 500.19 错误

我们来回写信,几周前,他终于找到了解决方案。这是他的解决方案,对我们来说也很有用:

  1. 单击服务器/机器级别的配置编辑器
  2. 在下拉列表中选择并展开 System.applicationHost
  3. 选择站点设置
  4. 点击“收藏”部分下的…按钮
  5. 选择相关网站并将 allowSubDirConfig 设置为 False
  6. 执行 IIS 重置

或者我们也可以尝试运行 appcmd 命令:
C:\Windows\System32\inetsrv> appcmd.exe set config -section:system.applicationHost/sites /[name='My_Website'].virtualDirectoryDe​​faults.allowSubDirConfig:"False" /commit:apphost

我们通过负载均衡器监控了变化,到目前为止一切似乎都很好,不再出现 500.19 错误。

相关内容