Mod-Pagespeed

使用 mod_cache 和 mod_pagespeed 時的記憶體控制

  • September 20, 2016

我正在使用 mod_pagespeed 和 mod_cache。

當 mod_pagespeed 關閉並且 mod_cache 關閉時,我看到以下標題:

記憶體控制:公共,最大年齡=7200,必須重新驗證

當 mod_pagespeed 開啟且 mod_cache 關閉時,我在響應中看到以下標頭:

記憶體控制:max-age=0,無記憶體,必須重新驗證

正如預期的那樣,pagespeed 已經重寫了記憶體控制。

但是,當 mod_pagespeed 開啟並且 mod_cache 開啟時,我看到以下內容:

記憶體控制:公共,最大年齡=7200,必須重新驗證

根據文件:

“預設情況下,PageSpeed 使用 Cache-Control: no-cache, max-age=0 為所有 HTML 提供服務,因為對頁面進行的轉換可能無法長時間記憶體。”

為什麼啟用 mod_pagespeed 和 mod_cache 時 html 被用作可記憶體?

在執行 mod_cache 的 Apache Httpd 2.4.23 執行 mod_pagespeed 1.11.33.2-0 時似乎存在錯誤。

由於某種原因,mod_pagespeed 不會重寫記憶體標頭,從而使 html 可公開記憶體。

我使用的解決方法是讓埠 81 上的虛擬主機作為沒有頁面速度的記憶體伺服器執行。

<VirtualHost *:81>
ProxyPass / ajp://tomcat-ipaddress:8009/
ProxyPassReverse / https://final-hostname/
ModPagespeed off
RemoteIPHeader X-Forwarded-For
CacheEnable disk /
CacheHeader on
</VirtualHost>

在虛擬主機 443 或 80 上,您可以代理 81 上的主機。

<VirtualHost _default_:443>
ProxyPass / http://localhost:81/
ProxyPreserveHost On
ModPagespeed on
ProxyPassReverse / https://final-hostname/

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