我正在使用Digital Ocean Load balancer将所有请求分成两个独立的服务器。两台服务器都在运行相同的Laravel应用程序,但是当这两台服务器在线并且我尝试发布请求时,有时我收到状态419,有时是200,但是当1台服务器处于脱机状态时,请求正常工作
我想你正在使用默认的会话驱动程序,即文件。因此,您的会话在其中一个服务器上设置,而另一个服务器不知道此会话。使用访问者的当前会话创建并检查表单上设置的csrf令牌,如果此请求发布到其他服务器,您将收到错误419,因为此服务器不知道会话。
要解决此问题,您应该使用可在database
,memcached
或redis
等服务器之间共享的会话驱动程序。