带有负载均衡器的laravel项目上的状态419

时间:2019-01-16 12:51:03

标签: laravel laravel-5 load-balancing digital-ocean http-status-codes

我正在使用Digital Ocean Load Balancer将所有请求分为2个单独的服务器。这两台服务器都在运行相同的Laravel应用程序,但是当这2台服务器处于联机状态并且尝试执行发布请求时,有时我会收到状态419,有时会收到状态200,但是当1台服务器处于脱机状态时,请求可以正常工作

1 个答案:

答案 0 :(得分:4)

我想您正在使用默认的会话驱动程序,即文件。因此,您的会话设置在一台服务器上,而另一台服务器不知道该会话。表单上设置的csrf令牌是使用访问者的当前会话创建和检查的,如果将此请求发布到其他服务器,您将收到错误419,因为该服务器不了解会话。

要解决此问题,您应该使用可以在databasememcachedredis之类的服务器之间共享的会话驱动程序。