当前服务器的体系结构类似于:
| ---服务器1 --- | -----------------------服务器2 ------------ -------- |
负载平衡器-> Nginx-> WSGI Web应用程序(Flask)
当我第一次在Server 2中配置fail2ban时,它不起作用,因为nginx日志具有负载均衡器的IP地址。 因此,我更改了nginx的日志格式以打印实际IP值。
但是fail2ban无法正常工作,因为请求仍然与负载平衡器IP地址一起出现,并且iptable块的连接取决于TCP级别的IP地址。
如果我们可以将IP地址黑名单保存在特定文件(例如TXT)中,并且阻止连接取决于文本文件和X-Forwarded-For标头,则这将是解决此问题的最简单方法。
与上面相同,直到将IP地址保存在文本文件中为止,但是使用Web应用程序拒绝连接,而不是nginx Web服务器。 如果我使用某些模块,没什么大不了的,但不确定这种方法是否正确。
您能给我有关Plan1,Plan2的任何建议吗? 如果可以的话,也可以随时向我建议一个新计划。
谢谢