Caddy設置靜態文件緩存
在使用 Google PageSpeed Insights 測試本站,診斷結果中說靜態文件沒有設置緩存,尤其是woff2字體下載耗時長,影響加載速度,由於本站使用Caddy2服務器,要添加靜態文件緩存,配置文件語法和Nginx略有差異。
Caddy2 設置靜態文件緩存時間示例:
mephisto.cc {
encode gzip zstd
root * /data/mephisto.cc/public
file_server
@static {
file
path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.webp
}
header @static Cache-Control max-age=604800
reverse_proxy /xray 127.0.0.1:2001 {
transport http {
versions h2c
}
}
handle_errors {
rewrite * /{http.error.status_code}.html
file_server
}
log {
output file /var/log/caddy/mephisto.cc.log {
roll_size 100mb
roll_keep 10
roll_keep_for 7d
}
}
}
@static 官方文檔叫Named matchers,下面這一段的意思爲,請求路徑中匹配到下列類型的靜態類型文件,通過控制返回頭,設置緩存存儲的最大週期,超過3600x24x7=604800秒,緩存被認爲過期。與Expires相反,時間是相對於請求的時間。
@static {
file
path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2 *.webp
}
header @static Cache-Control max-age=604800
header的其它控制選項,可按照需要自行添加。
最後修改於: Monday, August 28, 2023
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。