作者回复: 大致思路:在网关上收集访问日志(Access Log),进入Kafka,后台大数据系统分析访问日志,生成爬虫ip列表(简单的统计单位时间ip访问量,生成top ip列表,复杂的还可以根据访问模式+AI计算出爬虫行为),这个爬虫ip列表再反馈给网关(网关可以定期拉取),网关根据这个ip列表禁止访问。ip列表比较简单粗糙,也可以是用户id列表。
作者回复: 是网关报跨域错误,还是后台服务报跨域错误?
可以给相关spring应用添加全局跨域配置,参考:
https://www.baeldung.com/spring-cors
作者回复: 好办法!
作者回复: 对,网关一般是无状态集群部署的,前置一般有硬件(如F5)或者软件(如nginx)LB做负载均衡,也有F5 -> nginx -> gateway软硬结合两层负载的,因为nginx配置相比F5方便。