当 PHP 服务器正在运行 cron 作业计划的 PHP 脚本时,如何停止对 PHP 服务器的请求?

当 PHP 服务器正在运行 cron 作业计划的 PHP 脚本时,如何停止对 PHP 服务器的请求?

我遇到过这样的情况:一些 DDOS 攻击导致我的 PHP 服务器瘫痪。这种情况偶尔发生。

我正在使用带有自动扩展组的 AWS,因此这不是问题。

当此服务器在 cron 作业计划的 PHP 脚本中途发生故障时,问题就开始了。

/healthcheck所以我的想法是阻止 PHP 服务器上除...之外的所有路由。

我该怎么做?有没有更好的解决方案?

答案1

在专用的小型实例或 ASG 之外的 Fargate 容器上运行 cron 作业怎么样?cron 实例不必一直运行,只需在要运行作业之前启动它,并在作业完成后关闭即可。这就是我的做法,而不是希望实例不会在 cron 作业中途停机。

希望有帮助:)

答案2

那么 DDOS 保护怎么样?AWS 应该使用 AWS Shield 来阻止最严重的攻击,如果您需要更多保护,可以购买 Shield Advanced。AWS WAF 可能会有些用处,速率限制和拒绝流量的规则。确保您使用 Route53 进行 DNS、CloudFront 和 ALB 以使 Shield 发挥最佳作用。

或者,将 CloudFlare 放在 ALB 前面。他们有免费且价格合理的计划,可以很好地保护 DDOS。

为了按照您要求的方式解决问题,MLu 建议在临时计算上运行批处理作业,这是一个好主意。Lambda 也可以工作,具体取决于作业的性质和长度 - 如果它可以并行,则让一个 lambda 并行启动您需要的多个作业。

相关内容