我们有一个人流量低的站点,该站点已经过分阶段运行,然后投入生产,并且已经上线了30天。似乎是两天前,该网站开始随机出现500个错误。该服务器上有6个生产站点,该站点是唯一出现500个错误的站点。只需在站点的IIS中重新启动即可解决此问题。 IIS和ColdFusion日志记录仅记录了500条响应,没有错误。唯一的区别是一些URL重写规则:
<system.webServer>
<httpErrors existingResponse="PassThrough" />
<rewrite>
<rules>
<rule name="Redirect .cfm extension" stopProcessing="false">
<match url="^(.*).cfm$" ignoreCase="true" />
<conditions logicalGrouping="MatchAny">
<add input="{URL}" pattern="(.*).cfm$" ignoreCase="false" />
</conditions>
<action type="Redirect" url="{R:1}" redirectType="Permanent" />
</rule>
<rule name="hide .cfm extension" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}.cfm" matchType="IsFile" />
</conditions>
<action type="Rewrite" url="{R:0}.cfm" />
</rule>
</rules>
</rewrite>
[所有其他规则与同一服务器上其他站点上的规则相同。我们启用了失败的请求跟踪,这似乎表明某种权限错误:
所有站点均由相同的isapi_redirect.dll处理。我们检查了uriworkermap.properties和worker.properties,与其他生产服务器相比,它们是相同的。
为了消除差异,我们从web.config中拉出了httpErrors以及重定向和隐藏规则-从那时起,它运行得很好,没有500s(敲栈木)。
我们昨天还在isapi_redirect.log中发现了这些错误:
[Wed Jan 29 13:18:58.021 2020] [9056:9196] [error] uri_worker_map_update::jk_uri_worker_map.c (1299): Unable to stat the D:\ColdFusion2018\config\wsconfig\1\uriworkermap.properties (errno=2)
[Wed Jan 29 13:20:44.970 2020] [9056:9196] [error] uri_worker_map_update::jk_uri_worker_map.c (1299): Unable to stat the D:\ColdFusion2018\config\wsconfig\1\uriworkermap.properties (errno=2)
当更改web.config时,它们也停止了。因此,问题是,在与查理·阿里哈特(Charlie Arehart)大师一起工作了2 1/2小时之后,最终没有确切的答案,还有其他人看到过类似的东西吗?我们还要看什么?自服务器上all个站点更改为web.config以来,零错误为500。