问题描述
我们遇到了一个问题,即 IIS 会向来自同一服务器的客户端请求返回间歇性 403.18 错误。服务器将运行数天,然后这些错误的爆发会到来。 IIS 日志显示返回给客户端的 403.18。 Windows 事件日志中没有任何内容。
我们为此错误开启了 IIS 扩展日志,错误的扩展日志如下所示:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>3</Level>
<Opcode>16</Opcode>
<Keywords>0x100</Keywords>
<TimeCreated SystemTime="2021-04-23T16:26:50.365Z"/>
<Correlation ActivityID="{80003D39-000E-FF00-B63F-84710C7967BB}"/>
<Execution ProcessID="16292" ThreadID="5764"/>
<Computer>MY-SERVER</Computer>
</System>
<EventData>
<Data Name="ContextId">{80003D39-000E-FF00-B63F-84710C7967BB}</Data>
<Data Name="ModuleName">IIS Web Core</Data>
<Data Name="Notification">1</Data>
<Data Name="HttpStatus">403</Data>
<Data Name="HttpReason">Forbidden</Data>
<Data Name="HttpSubStatus">18</Data>
<Data Name="ErrorCode">0</Data>
<Data Name="ConfigExceptionInfo"></Data>
</EventData>
<RenderingInfo Culture="en-GB">
<Opcode>MODULE_SET_RESPONSE_ERROR_STATUS</Opcode>
<Keywords>
<Keyword>RequestNotifications</Keyword>
</Keywords>
<freb:Description Data="Notification">BEGIN_REQUEST</freb:Description>
<freb:Description Data="ErrorCode">The operation completed successfully.
(0x0)</freb:Description>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{002E91E3-E7AE-44AB-8E07-99230FFA6ADE}</EventGuid>
</ExtendedTracingInfo>
</Event>
可以在此处找到完整的日志 full iis extended log file
导致错误的请求由 asp.net 网络服务提供服务。我们看到了不同 URL 返回的错误,但它们似乎是突发性的,并且发生在非常频繁的 URL 上,这让我们认为这可能是 IIS 的 DynamicIpRestrictionModule。然而,这被关闭了(并且还通过设置为非常宽松的值进行了测试)并且它没有帮助。我们还曾一度运行 mod-sec,我们认为这可能是原因。但是我们删除了 mod-sec 并且它仍然发生。间歇性是一个难题,因为我们看到请求具有完全相同的标头和正文内容,这些请求在失败请求之前和之后的几分钟内得到了正确的服务,因此它似乎与请求正文或标头无关。这些请求来自同样为它们提供服务的服务器。
如您所见,产生错误的模块是“IIS Web Core”。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)