gio*_*nda 2 nginx haproxy x-forwarded-for
昨天,我们受到了到达我们的网络服务器后端 (apache2) 的 DDoS 攻击。前端由到网络服务器的 haproxy 负载平衡连接组成。在 apache 的 access.log 上,我们看到来自两个 ip 的数千个请求,几个小时后我们意识到那些是假的/欺骗的,而不是实际的 ip。
为澄清起见,我们使用“137.137.136.136”的 ip 进行了“curl GET /”,实际上这就是我们在博客中看到的 ip(假的)
现在,在我们使用 nginx 作为反向代理的另一个集群中,更改/制作 X-Forwarded-For 标头不起作用。意思是,即使您在特定标头中输入随机 ip,nginx 仍会将正确的 ip 传递给后端网络服务器?
这与haproxy有关吗?
任何人都可以确认精心制作的 X-Forwarded-For 标头可以通过 haproxy 吗?
为什么这不会发生在 nginx 中?
你如何防止这种情况?
在haproxy中,如果你没有什么可以阻止这个,那是正常的,我不知道在nginx中如何处理,但我使用haproxy是这样解决的:
在默认选项中:
forwardfor
Run Code Online (Sandbox Code Playgroud)
在我的 haproxy 前端定义中,我有:
reqidel ^X-Forwarded-For:.*
Run Code Online (Sandbox Code Playgroud)
X-Forwarded-For
如果客户端尝试伪造,那么在 http 请求中删除,haproxy 会在 http 响应中使用真实的 ip 地址返回真实的标头
如果你想用来X-Forwarded-For
检查http客户端的ip地址,如果http请求中存在,你需要删除它,因为使用http代理的客户端有时会设置本地ip地址X-Forwarded-For
归档时间: |
|
查看次数: |
2366 次 |
最近记录: |