2013-10-09 51 views
0

我遇到了Laravel4的問題。我基於Laravel4 Bootstrap Starter(https://github.com/andrew13/Laravel-4-Bootstrap-Starter-Site)爲合作伙伴創建了簡單的網站。問題在於該網站位於兩個不同的服務器上,前面有負載平衡器。 Basset在public/assets/compiled中生成CSS & JS文件,但是我在不同的服務器上有不同的校驗和。Loadbalancer在Laravel4中打破資產

因此,它有時會從server1加載CSS文件,有時會從server2加載CSS文件。當S2生成HTML &時,S2出現404錯誤。

你可以看到例如這個問題在這裏: http://affiliate.pirrit.com(刷新幾次)

+0

有沒有找到解決辦法呢? – pthurmond

回答

0

我不知道怎麼巴吉作品,但如果你能輸出的文件名(不是HTML,實際的文件)不使用散列,您可以使用H5BP's rewrite rule在HTML中使用散列並將其路由到實際文件。這爲您提供了緩存清除的好處,避免了您在負載均衡器後面遇到的缺陷。

還有一個nginx version也作爲您的服務器(或至少您的負載平衡器)似乎是nginx。

最後,如果這個偏離主題,

  1. 有你確信你的會話「粘性」(或確認自己的會話都在中央存儲執着?)。除非用戶的useragent/IP地址被傳遞到您的原始服務器,否則負載均衡往往會混亂起來,除非注意。
  2. 每個Web請求都有可能看起來像來自同一用戶(又名您的負載均衡器)。

只是提到,以防萬一你碰到它。這與Basset問題完全無關。這是我碰到的一堆東西。