首页 > 解决方案 > ddos挑战页面的两台服务器之间的通信?

问题描述

我需要开发一个与 Cloudflare 防火墙挑战非常相似的挑战页面。

我知道如何制作挑战应用程序的前端和后端,并且我知道如何在服务器上进行设置。

问题在于如何将其实施到位于一台服务器上的网站,而挑战应用程序位于另一台服务器上。我应该如何在服务器之间进行通信?两台服务器都是 Ubuntu 16.4。谢谢大家。

标签: phplaravel-5ubuntu-16.04

解决方案


我认为最好使用 nginx 服务器来解决这个问题,比如 cloudflare。

  • 做一个有速率限制的 nginx 反向代理
  • 如果限制命中用户将被重定向到错误页面
  • 将您的挑战应用程序与错误页面集成。

有关此配置的更多信息在这里: https ://serverfault.com/questions/645154/how-to-redirect-to-an-other-link-when-excess-request-limit-req-with-nginx

以及如何在错误页面中使用 PHP 在这里: Nginx,PHP + FPM 自定义错误页面 ,您可以在第三个服务器上运行此反向代理,也可以在挑战应用服务器上运行它。

使您的域指向反向代理,然后进行 nginx 配置

 server {

        listen   80 default_server;
        server_name *.*;
        client_body_timeout 5s;
        client_header_timeout 5s;
        location / {
            proxy_set_header Host $host;
            proxy_pass http://00.00.00.00/; #replace with upstream ip
        }

}

你必须将它与自定义 php 错误页面结合起来


推荐阅读