全局静态文件(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 图标的返回。

如果这时候我们尝试删除掉这个全局静态文件,会怎样呢?

我们回到全局静态文件页面:

然后删除刚才上传的静态文件:

会出现上面的错误提示,因为有应用正在使用这个静态文件,所以不能被删除。