mysql - Laravel Sessions 数据库表填充了 user_agent ELB-HealthChecker/2.0 健康检查

标签 mysql laravel session amazon-ec2 user-agent

我正在准备我的 Laravel 5.5 生产环境以在弹性负载均衡器 (ELB) 后面的多个 AWS EC2 实例上运行。所有共享数据,如图像、css、js 都存储在 S3 上,日志流式传输到 CloudWatch,数据库在 RDS 上。 session 和缓存已配置为使用数据库。

一切都很好,除了我看到 session 表用 user_agent "ELB-HealthChecker/2.0"填满了数千个 ELB 健康检查。 Laravel/PHP 显然将每个健康检查视为一个新用户并生成一个新 session ,每个实例每 30 秒一个。这可能会很快失控,并且不可持续。

所以我的问题是...... Laravel 中是否有一种方法可以忽略或拒绝来自特定 user_agents 的请求,以便他们不启动 session ?我可以编写一个 shell 脚本来定期删除记录,但这似乎是不必要的黑客攻击。

最佳答案

我认为最简单的解决方案是将 ELB 定向到特定路由以进行健康检查 ping,然后将该路由的 session 中间件禁用为 mentioned here

关于mysql - Laravel Sessions 数据库表填充了 user_agent ELB-HealthChecker/2.0 健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46411534/

相关文章:

php - access_token 过期后如何刷新 token

php - cookie PHPSESSID 是 PHP 中 $_SESSION 的唯一键吗?

where 子句中的 Mysql 条件未正确报告

mysql - MYSQL OUTFILE文件夹

php - 比较php中的数组值

php - Laravel Blade 布局

php - ajax请求中的laravel TokenMismatchException

javascript - 使用输入框(Ruby on Rails)在数据库中搜索数据列的基本功能

session - 使用哈希与键在 Redis 中存储对象

session - 如何在 Plug 中设置 session 和 CSRF 保护?