2010-09-30 26 views
1

我的目標是使用Varnish將我的靜態資產與我的Symfony 1.4站點(http://my.perqworks.com)一起緩存。在Symfony應用程序中使用光油?

我可以編寫一個VCL文件,去除所有靜態文件中的cookie,同時將用戶身份驗證cookie留在php文件上 - 但用戶身份驗證失敗。我無法登錄到我的應用程序。

我在尋找一個答案,描述如何使用Varnish來緩存靜態文件,同時允許我的Symfony應用程序登錄並支持用戶身份驗證。

目前我使用的是這樣的:

if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") { unset req.http.cookie; }

+0

我看不出你的vcl中有什麼錯誤,http://my.perqworks。 com/login與正則表達式不匹配,必須有別的東西不能正常工作,wordpress的例子解釋了你在wordpress基礎上要做的事情,也許你可以試着從中得到一些啓發。http://www.varnish -cache.org/trac/wiki/VarnishAndWordpress – hellvinz 2010-10-10 17:05:33

回答

1

不同的,但也許更好的做法是爲來自不同的域或子域沒有設置cookies的靜態內容。如果您的網站是「example.org」,那麼您不必爲「.example.org」設置Cookie,而是將它們設置爲「www.example.org」,並將靜態內容放在「static.example.org」。

除了讓你的設置更容易管理,這將使客戶端的靜態項目的HTTP請求更小,這是one of the YSlow recommendations