服务静态资源
静态资源是指直接提供给客户端的文件,在运行时没有任何修改或处理。这些文件通常旨在保持不变,通常用于交付 HTML、CSS、JavaScript、图像、字体和其他媒体文件等资产。与在服务器上动态生成或处理的动态资源不同,静态资源是按原样提供给客户端的预先存在的文件。
在本指南中,你将了解如何配置 APISIX 以缓存和服务静态资源。
创建路由
为了演示,下面的示例将使用 APISIX 反向代理来自 Web 超文本应用技术工作组 (WHATWG) 公共 GitHub 仓库的静态内容。
创建一个到 WHATWG GitHub 仓库的路由,配置它以匹配所需的静态资源扩展名,并启用 proxy-cache 插件:
curl "http://127.0.0.1:9180/apisix/admin/routes" -X PUT \
-H "X-API-KEY: ${ADMIN_API_KEY}" \
-d '{
"id": "static-src-route",
"uri": "/whatwg/*",
"vars": [["uri", "~~", "(.jpeg|.html)$"]],
"plugins": {
"proxy-cache": {}
},
"upstream": {
"type": "roundrobin",
"scheme": "https",
"pass_host": "node",
"nodes": {
"raw.githubusercontent.com": 1
}
}
}'
❶ 匹配寻找具有 .jpeg 和 .html 扩展名文件的请求。
❷ 在路由上启用 proxy-cache