![IIS 性能和缓存配置导致的 403 禁止错误](https://linux22.com/image/722164/IIS%20%E6%80%A7%E8%83%BD%E5%92%8C%E7%BC%93%E5%AD%98%E9%85%8D%E7%BD%AE%E5%AF%BC%E8%87%B4%E7%9A%84%20403%20%E7%A6%81%E6%AD%A2%E9%94%99%E8%AF%AF.png)
我最近从托管服务器迁移到了运行带有 IIS 8.5 的 Windows 2012 R2 的 AWS。
当我第一次在服务器上打开任何网站或进行硬刷新时,一切似乎都正常 - 控制台中没有什么大问题,一切都按预期工作。
但是,如果我按 F5 重新加载页面,控制台就会开始出现错误。页面刷新的次数越多,错误就越多,而且几乎总是:403 Forbidden。有时它们会消失,但控制台通常会有多达 10-15 个错误。这不仅在我手动刷新时出现,而且在提交表单并且页面被编程为刷新时也会出现。
这种情况发生在图像、css 和 js 文件中。js 文件是最大的文件,因为这会阻止 TinyMCE 加载其 js 文件,从而导致我的 Webmail 安装出现错误。这会阻止 Webmail 的所见即所得编辑器,使其无法使用。
我确信我遗漏了有关 IIS 缓存的某些内容;但这不是我的专长领域。我知道有很多关于如何调整 IIS 的资源,我已经阅读了数十份,但我找不到解决方案。
以下是当前设置的简要概述:
设置:
- Windows Server 2012 R2
- IIS 版本:8.5 示例站点:
- 在 Windows 10 上的 Chrome 中进行测试
常用标头:
- 保持活动 = true
- 内容过期 = false
压缩:
- 动态压缩 = false
- 静态压缩 = true
缓存:
- js = 2 天
- css = 2 天
- 图片 = 30 天
谢谢!
答案1
谢谢@LexLi..
查看 IIS 日志的建议让我再次行动起来。从这里,我找到了一个似乎相关的论坛帖子(https://forums.iis.net/t/1192952.aspx),因为它显示了与我所显示的相同的错误(403 502 组合)。
帖子里说的是 IP 限制,这解释了为什么连续按 F5 会失败,但过一段时间后就不会了。我找到了动态 IP 限制设置,并增加了它... 似乎解决了问题。
再次感谢@LexLi 的推动。