【问题标题】:Confusing 406 errors令人困惑的 406 错误
【发布时间】:2014-04-23 17:16:51
【问题描述】:
我在 Sitefinity 网站 (http://www.pcma.org/attend-learn/topics) 中有一个页面,该页面针对一些静态 javascript 和 css 文件发送回 406 Not Acceptable 错误。奇怪的是,它只发生在 www.pcma.org,而不是 pcma.org(没有“www”)。
它也不会发生在所有文件上,所以我很难过。有没有人遇到过类似的事情?我们使用的是 IIS 7 和 Sitefinity 5.4。
【问题讨论】:
标签:
caching
reverse-proxy
http-status-code-406
【解决方案1】:
原来是缓存问题。我们无意中在 web.config 中将缓存的最长期限设置为 31 天:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="31.00:00:00" />
</staticContent>
然后一定是某个用户或机器人出现并尝试请求问题文件,而我们的 ATS proxy 缓存了 406 响应,并且即使在文件问题得到解决后仍愉快地继续提供错误页面。
清除代理缓存并将cacheControlMaxAge 属性更改为 1 小时解决了该问题。