Laravel Forge 的负载均衡器得到 404 CSS
Load balancer with Laravel Forge got 404 CSS
我有两台服务器托管两个相同的 Laravel 应用程序。假设服务器一和服务器二。还有一个负载均衡器,我们称之为 LB 服务器。
我在 Laravel Forge 上设置了它。但是,当我将域指向 LB 时。我得到随机 404 CSS 未找到。我在部署时使用 Laravel 混合并编译它们。由于两台服务器的部署不同,CSS 版本控制不同,JS 也不同。
发生的情况是,如果我调用域并不断刷新服务器,我会收到 404 CSS。由于 LB 正在做 Round Robin Load Balancing。
问题是当我将LB服务器服务的域名调用到服务器一时。我不断刷新后,LB服务器服务于服务器二。那时,CSS 仍在呼叫服务器一号 CSS。
我该如何解决这个问题?
Notes: I know I should put my CSS/JS/Images should put to S3 or CDN.
Can't use those options for now. I don't
want to put my compiled CSS to git versioning as well.
您应该更改您的部署:仅生成一次文件并将它们同步到服务器,而不是在每台生产服务器上分别生成它们(例如 rsync)。
另一种(不优雅的)方法可能是使用粘性会话,LB 将设置一个 cookie,然后总是将用户路由到同一后端(请参阅您的 LBs 文档)。
我有两台服务器托管两个相同的 Laravel 应用程序。假设服务器一和服务器二。还有一个负载均衡器,我们称之为 LB 服务器。
我在 Laravel Forge 上设置了它。但是,当我将域指向 LB 时。我得到随机 404 CSS 未找到。我在部署时使用 Laravel 混合并编译它们。由于两台服务器的部署不同,CSS 版本控制不同,JS 也不同。
发生的情况是,如果我调用域并不断刷新服务器,我会收到 404 CSS。由于 LB 正在做 Round Robin Load Balancing。
问题是当我将LB服务器服务的域名调用到服务器一时。我不断刷新后,LB服务器服务于服务器二。那时,CSS 仍在呼叫服务器一号 CSS。
我该如何解决这个问题?
Notes: I know I should put my CSS/JS/Images should put to S3 or CDN. Can't use those options for now. I don't want to put my compiled CSS to git versioning as well.
您应该更改您的部署:仅生成一次文件并将它们同步到服务器,而不是在每台生产服务器上分别生成它们(例如 rsync)。
另一种(不优雅的)方法可能是使用粘性会话,LB 将设置一个 cookie,然后总是将用户路由到同一后端(请参阅您的 LBs 文档)。