当源站屏蔽了某个恶意IP,但流量经过CDN时,处理逻辑会变得复杂一些。
CDN节点会先接收用户请求。如果该请求是静态资源且节点有缓存,会直接返回,不涉及源站。如果是动态请求或缓存未命中,CDN会将请求转发给源站。
关键在于,CDN转发请求时,通常不会直接传递用户的真实IP给源站,而是使用CDN节点的IP或通过HTTP头(如X-Forwarded-For)附带用户IP。如果源站仅根据直接连接它的IP(即CDN节点IP)进行屏蔽,那么屏蔽就会失效,因为恶意流量始终来自少数可信的CDN节点IP。
因此,正确的做法是:源站需要配置为**读取HTTP头中的真实用户IP**(并确保该头信息可信,防止伪造),然后基于这个真实IP来判断是否在屏蔽黑名单中。若在,则源站返回一个拒绝访问的状态码(如403)给CDN节点,CDN节点通常会将该错误响应返回给用户,从而实现有效拦截。
本文由武汉极致融合云发布于云资讯,转载请注明出处:源站屏蔽恶意IP但经过CDN后的处理逻辑