iis 403.502

2023-03-17 12:43:18 浏览数 (1)

遇到个奇葩case,图文并茂的多个.asp站点,访问过快就会出现403 forbidden,具体特征:

代码语言:javascript复制
1、点浏览器的刷新按钮点多快都没事,F5刷新也没事(因为走了浏览器本地缓存,并不会对服务器产生多大影响)
2、Ctrl F5强制刷新,连续快刷几次就会出现403 forbidden

分析:

1、新建应用程序池,保持默认设置,替换asp站点原来的应用程序池

代码语言:javascript复制
结果:问题依旧,F12看到受影响l全是.css等静态URL

访问日志里都是403 502的记录,HTTP Error日志没产生记录

代码语言:javascript复制
IIS Log:%SystemDrive%inetpublogsLogFilesW3SVC{siteid}
C:inetpublogsLogFilesW3SVC{siteid}

HttpErr Log : %SystemDrive%WindowsSystem32LogFilesHTTPERR
C:WindowsSystem32LogFilesHTTPERR

注意事项:

IIS和HTTPERR日志都是UTC 0,换算到北京时间需要 8小时

比如我截图的时间是2023-3-1 02:24:52实际就是2023-3-1 10:24:52

2、新建的应用程序池附加给新建的动态测试站点(只有一个index.asp和index.aspx)

代码语言:javascript复制
结果:问题消失

index.asp代码如下:

代码语言:javascript复制
<%Response.Write "Hello World!"%>

index.aspx代码如下:

代码语言:javascript复制
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<Script Language="C#" runat="Server">
void Page_Load(Object src, EventArgs e)
{
    label1.Text = "Hello World";
}
</Script>
<html>
<head>
<title>使用Page_Load建站测试</title>
</head>
<body>
<asp:Label id="label1" Font-Size="28px" Font-Bold="True" runat="server" />
</body>
</html>

3、新建的应用程序池附加给新建的静态测试站点(只有一个index.html页面)

结果:Ctrl F5快速连续按键,成功复现问题

index.html代码如下:

代码语言:javascript复制
<html>
<body>
<a href="http://www.baidu.com/"> www.baidu.com</a>
<body>
</html>

在公网访问:

访问日志里都是403 502的记录,但公网访问时只报了403,并没有把502报出来

HTTP Error日志没产生记录(默认路径C:WindowsSystem32LogFilesHTTPERR)

在机器内部用内网ip访问:直接报了更精确的403.502

此时已经比较明确了,直接Google去搜"IIS 403.502"头几条就有方向了

403.502 - Forbidden: Too many requests from the same client IP; Dynamic IP Restriction limit reached.

https://knowledge.broadcom.com/external/article/6550/how-to-resolve-a-4034-forbidden-error-a.html

https://blogs.iis.net/peterviola/preventing-automated-attacks-with-iis-dynamic-ip-restrictions

4、上述3个实验都是在有问题的机器操作的,在相同系统的其他机器上,相同代码的所有站点都不存在这个问题

结论:通过上述对比,证明此问题只涉及问题机器的静态资源,跟操作系统无关,并且代码没有问题、也跟应用程序池无关(因为新建的应用程序池保持了默认设置),大概率是IIS配置导致的。

IIS配置主要3大块:应用程序池配置、全局配置、站点个性化配置,因为问题机器全部站点都有这个问题,且应用程序池已排除,所以,如果是IIS配置导致的,那肯定是全局配置部分限频相关的配置造成访问限制导致403.502的。

如下图:主机名那块是全局,站点名那块是个性化

全局

个性化

微软的图标设计非常好,跟限制有关的几个配置都有醒目的红色,比如:

或者直接搜"限制"

而鼠标放到图标上就有主要功能介绍,如下:

很显然"IP 地址和域限制"就是我们要找的东西

默认是未配置的:为空

很显然有问题的机器这里是配过的,取消配置后,问题消失

技能扩展:如何收集IIS日志

https://cloud.tencent.com/developer/article/2241216

0 人点赞