全局静态文件(1)
不同的应用可能都会用到一些同样的静态文件,比如 favicon 图标和自定义的 HTML 文件。
我们可以把这些静态文件放在全局静态文件中,在应用中引用即可。
下面我们先上传一个 favicon 图标到全局静态文件中:
在这个页面中,会列出已经存在的全局静态文件。
我们点击 上传文件
按钮,来新上传一个。
这个页面很简单,上传一个 favicon 图标,并填写下静态文件的标签名。
文件有两种类型,一种是类似 favicon 图标这种的静态文件,另外一种是自定义 HTML 代码,可以用于应用的自定义错误页面中。
需要注意的是,这里限制了上传文件的大小,不能超过 32 KB,否则会上传失败。
我们选择上传一个 favicon 图标,标签名是 openresty。
上传完图标,点击右下角的保存按钮后,一个全局静态文件就上传成功了。
在全局静态文件的页面,就可以看到刚才新增的文件信息:
然后再去新建一个应用,来看下如何引用这个静态文件:
我们需要新增一个页面规则
,并在内容
中选择静态文件:
我们选择刚才上传的那个 favicon 图标,然后选择保存:
这样在一个应用中,就引用了一个全局静态文件了。
还要走一个发布的流程,才能让它在边缘节点上生效,具体的发布流程这里不再赘述。
下面我们来验证下:
curl -s -v -o favicon -H 'host: test.openresty.com' http://52.43.45.19/favicon
* Trying 52.53.251.226:80...
* Connected to 52.53.251.226 (52.53.251.226) port 80 (#0)
> GET /favicon HTTP/1.1
> Host: test.openresty.com
> User-Agent: curl/7.76.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Tue, 14 Nov 2023 11:10:21 GMT
< Content-Type: image/x-icon
< Content-Length: 12552
< Last-Modified: Wed, 23 Mar 2022 10:52:11 GMT
< Connection: keep-alive
< ETag: "623afbdb-3108"
< Server: OpenResty Edge
< Accept-Ranges: bytes
<
{ [5792 bytes data]
从返回值中,确实看到了 favicon 图标的返回。
如果这时候我们尝试删除掉这个全局静态文件,会怎样呢?
我们回到全局静态文件页面:
然后删除刚才上传的静态文件:
会出现上面的错误提示,因为有应用正在使用这个静态文件,所以不能被删除。