Tomcat

apache & mod_pagespeed + varnish 問題

  • August 29, 2013

我在 Web 層上有以下架構。

Varnish <-> Apache2 (mod_pagespeed <-> mod_jk) <-> Tomcat
   ^          ^                                      ^
   |          |                                      |________: mod_jk
   |          |_______________________________________________: port 8080
   |__________________________________________________________: port 80

其中 varnish 和 mod_pagespeed 使用預設配置安裝。

現在,當我訪問 url http://example.org:8080時,我可以在原始碼中看到 mod_pagespeed 被呼叫並重寫了頁面(在第二次刷新時請注意,因為它第一次沒有被記憶體)

但是,當我訪問 url http://example.org:80 mod_pagespeed 時,不會呼叫 mod_pagespeed 並且 html 程式碼保持不變。

下面顯示了在每個聯結上收到的 http 標頭

PORT 80
< Server: Apache/2.2.14 (Ubuntu)
< Set-Cookie: JSESSIONID=95ABA0EB57ACCBE15C9D7035C4397BD3; Path=/
< X-Mod-Pagespeed: 0.9.17.7-716
< Cache-Control: max-age=0, no-cache, no-store
< Vary: Accept-Encoding
< Content-Type: text/html;charset=UTF-8
< Content-Length: 13234
< Date: Wed, 01 Jun 2011 12:17:11 GMT
< X-Varnish: 579414176
< Age: 0
< Via: 1.1 varnish
< Connection: keep-alive

PORT 8080 (mod_pagespeed working fine)
< Date: Wed, 01 Jun 2011 12:19:26 GMT
< Server: Apache/2.2.14 (Ubuntu)
< Set-Cookie: JSESSIONID=DC3759CDE52D3B63A785F9C97B005EC0; Path=/
< X-Mod-Pagespeed: 0.9.17.7-716
< Cache-Control: max-age=0, no-cache, no-store
< Vary: Accept-Encoding
< Content-Length: 15990
< Content-Type: text/html;charset=UTF-8   

有沒有人知道為什麼會這樣?它是 mod_pagespeed 中的錯誤嗎?它是由在清漆或 mod_pagespeed 中設置或未設置的配置設置引起的嗎?

非常感謝任何有助於進一步深入研究此問題的幫助。

在後端伺服器上使用 mod_pagespeed 時,您可能會陷入很多配置陷阱,該伺服器接收的 URL 與最終使用者看到的不同。

您的響應都具有 X-Mod-Pagespeed: 標頭,因此 mod_pagespeed 正在每個標頭上執行,但是,它可能無法載入子資源(CSS、JS、圖像),因此不會重寫其中任何一個。

請通過 mod-pagespeed-discuss@googlegroups.com 跟進,我們可以幫助您解決此問題。

引用自:https://serverfault.com/questions/276628