『阿里云』记录一次因回源IP被拦截而导致项目出现502错误码无法访问的情况


这件事有了一段时间了 , 近期受疫情影响及上线项目 , 更文并不是很多 , 昨天从老家回到了沈阳 , 在两端火车站检查的非常严格 , 向当前奋战在一线的工作者致敬 , 向公司、社区、村委会上报了本次的车次和座位 。
步入正文 , 阿里云的WAF、CDN、SLL证书这三项很多人都知道 , 这三者能够结合在一起使用 , 下面简单的说一下:
『阿里云』记录一次因回源IP被拦截而导致项目出现502错误码无法访问的情况
本文插图
配图
1、 域名解析到CDN提供的cname地址上;
2、 将SLL通过CDN模式进行部署到域名上;
3、 在CDN域名配置中开启waf配置;
4、 在CDN域名配置中开启HTTPS配置;
5、 将CDN源站设置为waf回源;
通过这样简单的设置就可以实现通过阿里云waf进行拦截防护、CDN加速、HTTPS加密这三项 。
至于这三项的具体作用就不多说了 , 还是说一下这次事件的经过吧!项目的waf、cdn、https这三项都是我配置的 , 没有什么问题 。 后期服务器工作交给运维岗位来完成了 , 在运维编写的防护模块中添加了拦截操作 。 功能上没有什么问题 , 但是在撤掉阿里云的waf时 , 需要重新设置域名解析的参数信息 , 在这里说一下刚刚我们说的三者配置是逆向的 , 需要先将域名解析到waf上面 , 由waf提供防护工作 , 将cdn回源添加到waf上面 , 将https添加到cdn上面 。 这个模式是没有问题的 。 但是我们在进行撤销waf时 , 重新配置后出现了502错误 。 觉得在配置上面没有问题 。 只有https的网站是出现502状态码 , 无法打开的 , 非https的网站是可以打开的 。 当时运维也不到什么情况 , 我也不清楚 。 联系了阿里云提交工单 , 但是也没有解决清楚 , 后期通过直接配置https办法暂时解决问题 。 ?
过了一段时间 , 将这个仔细想了想 , 又和阿里云的技术人员进行了沟通 , 查看阿里云技术文档 , 得到一个点:阿里云CDN存在特定的回源IP , 在回源上面没有问题 , 而到达网站上面出现了问题 , 那么 , 我的想法就是被我们自己给拦截了 , 联系运维人员查看被拦截IP名单 , 固然发现了特定的几个IP 。 对这几个进行了添加白名单操作后 , 不再拦截 , 网站可以正常访问了 。
也是自己才疏学浅 , 不知道阿里云CDN加速回源IP的事项 , 本次问题总结如下:
1、 编写拦截功能时需要将部分IP或IP端进行放行 , 如百度蜘蛛、360蜘蛛、搜狗蜘蛛、头条蜘蛛等 , 如果存在CDN加速的也需要对此进行放行 。
2、 拦截时对频繁请求的IP进行时效性的拦截和放行机制 。
【『阿里云』记录一次因回源IP被拦截而导致项目出现502错误码无法访问的情况】3、 对拦截返回状态码需要进行标注 , 或者重定向到拦截页面 , 不要无任何标志 , 导致在判断问题时无法快速断定问题点从而影响业务 。


    推荐阅读