2017-09-25 82 views
1

我准备将Laravel 5.5生产环境运行在Elastic Load Balancer(ELB)后面的多个AWS EC2实例上。所有共享数据(如图像,css,js)都存储在S3上,日志正在流向CloudWatch,并且数据库位于RDS上。会话和缓存已配置为使用数据库。Laravel会话数据库表填满user_agent ELB-HealthChecker/2.0健康检查

这一切都很好,除了我看到会议桌上充斥着数以千计的使用user_agent“ELB-HealthChecker/2.0”的ELB健康检查。 Laravel/PHP显然将每次健康检查视为新用户,并生成一个新会话,每个实例每30秒一次。这可能会非常快速并且不可持续。

所以我的问题是这样的...有没有一种方法在Laravel忽略或拒绝来自特定user_agents的请求,所以他们不会开始会话?我可以编写一个shell脚本来定期删除记录,但这似乎是不必要的破解。

回答

2

我认为最简单的解决办法是在ELB直接用于健康检查坪特定的路线,然后禁用会话中间件该路线为mentioned here

+0

的最佳解决方案。完美的作品。谢谢。 – gerion

+0

很高兴帮助,欢呼! – Paras