我在Apache日志中有这些错误…
proxy:error] [pid 13317] (110)Connection timed out: AH00957: HTTP: attempt to connect to 210.86.231.64:80 (*) failed [proxy_http:error] [pid 13317] [client 5.39.116.17:56290] AH01114: HTTP: failed to make connection to backend: simsodep.com
这一直持续下去,重复,无限。 我从Apache转发代理到JBoss。
在:80configuration…
SetEnvIfNoCase User-Agent "^ApacheBench/2.3" bad_bot <Proxy https://exampledev.com/*> Require all denied Deny from env=bad_bot Require ip 12.34.56.78 Require host exampledev.com </Proxy> Redirect permanent / https://exampledev.com
而在:443configuration…
<Proxy https://exampledev.com/*> Require all denied Deny from env=bad_bot Require host exampledev.com Require ip 12.34.56.78 </Proxy>
在我的防火墙中,通过ufw,我有…
To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 443 ALLOW IN Anywhere [ 3] 80 ALLOW IN Anywhere [ 4] Anywhere DENY IN 210.86.231.64 [ 5] Anywhere DENY IN 5.39.116.17 [ 6] 22 (v6) ALLOW IN Anywhere (v6) [ 7] 443 (v6) ALLOW IN Anywhere (v6) [ 8] 80 (v6) ALLOW IN Anywhere (v6)
为什么我的Apache 2.4日志文件中充斥着来自这些代理错误的演出? 我错过了什么?
您需要修复您的防火墙规则顺序。
防火墙规则的顺序非常重要,因为它们是按顺序处理/匹配的。 所以,如果有一个允许规则匹配第一,然后拒绝规则将不会按预期工作。
更改规则,以便拒绝规则在所有其他接受规则之前排在最前面或匹配。 他们应该是这样的:
To Action From -- ------ ---- [ 1] Anywhere DENY IN 210.86.231.64 [ 2] Anywhere DENY IN 5.39.116.17 [ 3] 80 ALLOW IN Anywhere [ 4] 22 ALLOW IN Anywhere [ 5] 443 ALLOW IN Anywhere [ 6] 22 (v6) ALLOW IN Anywhere (v6) [ 7] 443 (v6) ALLOW IN Anywhere (v6) [ 8] 80 (v6) ALLOW IN Anywhere (v6)
那么,这当然不是一次禁止ip的最佳方式。 保护您的Web服务器是一个更广泛的问题,网上有很多可用的资料。
至于防火墙,你可以尝试fail2ban:
如何在Ubuntu 14.04上用Fail2Ban保护Apache服务器