Apache反向代理故障

近日服务器出现Apache反向代理故障,用户多看到HTTP 503 Error。从反向代理服务器的error_log中看到如下信息:
[color=orange]No route to host: proxy: HTTP: attempt to connect to 10.0.0.9:80 (10.0.0.9) failed[/color]
错误信息的出现是由于服务器收到少量的DDOS攻击,同时真实的用户访问量加大。根据错误信息初步判断是反向代理服务器到主服务器的连接过多、过快,导致tcp_syn_cookie反应,从而导致反向代理服务器收到icmp host unreacheabe。根据这个判断做了很多内核网络参数的调整和Apache服务器参数的调整,但是不能杜绝503错误的出现。 :shock:
了解到[url=http://nginx.net/]Nginx[/url]的负载能力很强,拿来试试吧。在Apache主服务器上面安装nginx,配置端口为8080,反向代理由原来的80端口调整为主服务器的8080端口。reload配置文件。成功 :D !HTTP 50X错误消失。
后来分析,可能是apache主服务器的调用socket的accept函数的速度不够快,导致反向代理服务器重复发送syn包,从而触发syn flood防御功能,导致反向代理服务器经常收到No route to host告警。

你可能感兴趣的:(系统管理)