记录一起因为阿里云waf防火墙造成公司网站出现405 Method Not Allowed
公司商城网站是客户访问请求会先到阿里云的CDN在到阿里云的waf防火墙,最后到源站服务器
公司商城网站访问刷新5-6次就会出现 405 Method Not Allowed从字面上的意思理解,很显然是请求方法的类型错误,一般是以GET方式向POST请求网站,但是开发确认接口没有问题,而在本机配置域名hosts到源站服务器ip访问测试并不会出现405,而hosts配置域名到阿里CDN的ip就会出现,只能hosts域名加ip到CDN和waf防火墙排查
排查waf防火墙的日志发现报错的URL链接访问,在1天时间内的并发访问量并不大,1天的访问量正常的在14461左右 ,405报错的请求在3856排除网站被攻击的可能
根据以往网站url被攻击和爬虫爬取资料,1小时内URL都是到达几十万到几百万之间。1天可以到达上千万的访问请求
根据自己的公司的外网ip和关键字“HTTP/1.1” 405源站服务器过滤nginx日志一堆访问405的报错。
在访问测试出现405,根据CDN的返回的https响应头里面的ip:121.12.173.243,在waf防火墙检查日志并没有查看到报错的405记录,而此时已经测试过hosts域名ip到cdn会出现405的报错,而hosts域名ip到源站服务器不会出现
通过ping阿里云的防火墙的CNAME拿到waf防火墙的ip,直接hosts域名到waf防火墙的ip依旧会出现405 Method Not Allowed,而到hosts源站服务器并不会出现已经排除源站服务器nginx和代码问题,下工单联系阿里云工程师说明情况,阿里云工程师说日志已经到我们源站,说明请求有到源站建议我们排查源站服务器nginx配置,nginx配置排查也报错日志排查没任务问题,这个405是在node上面返回给nginx的,很多借口都是反向代理了node,最后让开发查询nodeJS的日志发现出现大量防火墙拦截的信息提示,根据请求id发送给阿里云工程师,确认了是后端java某个api接口域名,加了阿里云日志和部分waf防火墙服务器ip的黑名单所造成的405,清空黑名单恢复正常。注:黑名单是阿里云万检测到访问量搞,属于攻击行为才被添加进去
清空api域名的黑名单后恢复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库