我对此文件夹上的所有人都有读取,写入和执行权限。 当我用文件资源管理器打开这个目录时,一切都没问题,但是当我试着写上它们时,我给了我500错误。 从日志结果我的ASP应用程序无法写入此目录。 对不起,如果这是一个愚蠢的问题,但我已经尝试了两天,现在我结束了我的想法。 =(
答案 0 :(得分:0)
这已经过时了,我不知道是否有标准的方法可以做到这一点,但我知道必须以另一种方式来完成。
我在 Windows NLB 下运行两台 IIS 8.5 Web 服务器并登录到 DFS 共享上的单独文件夹。服务器共享配置,DFS 复制维护服务器内容的一致性。
每个网站都有一个 logs
符号链接文件夹,指向 DFS 共享上的子文件夹。
服务器 1:c:\inetpub\mywebsite\logs -> \\ad.mydomain.com\Logs\Server1\mywebsite
服务器 2:c:\inetpub\mywebsite\logs -> \\ad.mydomain.com\Logs\Server2\mywebsite
这相当于将站点日志目录设置为
\\ad.mydomain.com\Logs\%COMPUTERNAME%\mywebsite
。
这对我有用,有一段时间,但后来停止工作。自然而然,结果是不是一个,而是两个问题。
第一个是关于权限。
Server1
和 Server2
是 域 WebServers
组 的一部分,该组具有完整的DFS 共享子文件夹 Server1
和 Server2
的控制权,Administrators
和 SYSTEM
也是如此,所有这些都是从共享继承的。通过网站代码将网站应用程序日志写入 logs
文件夹可以正常工作。
但是 IIS W3SVCxx
日志文件夹不会被创建,手动创建它们也没有任何区别。 不创建 IIS 日志文件。
事实证明,IIS 需要专门为计算机 (%USERDOMAIN%\%COMPUTERNAME%
) 设置日志目录的完全控制权限。我不知道为什么,也找不到解释它的参考。
此权限存在于 Server1
和 Server2
子文件夹,显然是从共享继承的,即使 Logs
父文件夹没有它。我没有添加那个权限,不知道这个要求,当然相信 WebServers
组权限就足够了。我不知道这些权限是如何添加的。
但是,对 %USERDOMAIN%\%COMPUTERNAME%
和 Server1
子文件夹的此 Server2
权限不可继承。因此无法写入 ServerN\mywebsite
文件夹,并且从未创建 W3SVCxx
子文件夹。
向 Server1
和 Server2
文件夹添加此权限解决了这个问题,只要我使用 \\ad.mydomain.com\Logs\%COMPUTERNAME%\mywebsite
作为日志目录。
第二个问题没有解决。
虽然使用符号链接 c:\inetpub\mywebsite\logs -> \\ad.mydomain.com\Logs\%COMPUTERNAME%\mywebsite
确实有效,但一开始,在修复权限问题后工作了一段时间,它再次停止工作,我找不到任何解释原因的信息。
结论
将 IIS 日志目录设置为站点名称文件夹的唯一真正优势是我不需要知道站点 ID 即可找到正确的 W3SVCxx
文件夹。但是,作为一个极简主义者,我决定忽略权限问题并将网站的日志目录设置为 \\ad.mydomain.com\Logs\%COMPUTERNAME%
。必须要查找站点 ID 才能恢复我的日志。
我强烈建议使用此解决方案,并尽可能避免记录到符号链接。