这似乎是那些我没有看到简单答案的问题之一。
我们有一台 IIS 服务器托管多个网站,每个网站都使用单独的 IP。其中一些网站正在运行 ASP 和 ASP.NET 应用程序。我有一个网站,其主要目的是为 Sophos 防病毒软件提供更新,这些更新基本上是静态文件集。Sophos 的 OS X 软件包包含一个以 .config 扩展名结尾的文件。IIS 拒绝提供此文件(这是更新过程的关键),因为它认为它是应用程序的一部分。IIS 返回的错误是 403.1。
我想要做的是配置这个单个 IIS 站点/虚拟目录,以便以 .config 结尾的文件作为常规文本或类似文件提供,这样 Sophos 客户端就可以正确更新。最好这样设置,以便同一服务器上的其他站点不会受到影响(即不关闭 ASP.NET 扩展)。到目前为止,在 MIME 中指定 .config 为 text/text 和 application/octet-stream 并没有帮助(否则 MIME 设置为“.* All”)。将站点虚拟目录的权限设置为只读和删除脚本运行权限(这只是将错误从 403.1 更改为“服务不可用”)也没有用。
除了承认失败并在某个 Linux 机器上设置 Apache 之外,我还应该做什么?提前致谢。
答案1
我打电话给 Sophos 支持部门,以为他们之前应该见过这种情况,但显然他们没有(我想,这表明他们有多少人从 IIS CID 更新 OS X 机器)。他们做了一些研究,找到了这个帖子:http://forums.iis.net/t/1159987.aspx这表明,由于暴露 .config 文件自然会导致无意中暴露 web.config,因此 Microsoft 不允许通过 IIS 访问 .config 文件(至少在 6 及更高版本上)。提到的线程包含一个解决方法的链接,但根据良好的政策,Sophos 不会推荐该解决方法,因为它违反了 Microsoft 推荐的安全做法。简而言之,答案是不支持使用 IIS 6 及更高版本作为 OS X 上 Sophos 的更新存储库。
我要部署的解决方案是在某个 Apache 实例上创建 CID。