在使用 Caddy 配置网站反代过程中,像本站这种3Mbps
小水管想提高速度,缓存就是逃不过的话题;像 js css 静态文件可以考虑缓存时间最大化,因为基本不会动,尽量首次就把资源缓存到客户端。
下面是一个例子,注意是节选配置:
"handle": [
{
"handler": "headers",
"response": {
"set": {
"cache-control": [
"public, max-age=2592000"
]
},
"require": {
"status_code": [
200
],
"headers": {
"content-type": [
"text/javascript"
]
}
}
}
},
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "192.168.1.180:8080"
}
]
}
]
解释:在源服务器响应成功200之后,并且协议头内容类型是text/javascript
时,设置缓存时长是2592000秒,也就是30天;
其中有些特别注意的地方:
- handler 之间的顺序不能乱,response 处理顺序是由下而上,先 reverse_proxy 再 headers。
- content-type 里面的数组是逻辑与(&&)的关系,也就是说 如果你还想再支持 css 文件,必须再单独配置一个
headers
。