全局静态文件

不同的应用可能都会用到一些同样的静态文件,比如 favicon 图标和自定义的 HTML 文件。

我们可以把这些静态文件放在全局静态文件中,在应用中引用即可。

下面我们先上传一个 favicon 图标到全局静态文件中:

在这个页面中,会列出已经存在的全局静态文件。 我们点击上传文件按钮,来新上传一个。

这个页面很简单,上传一个 favicon 图标,并填写下静态文件的标签名。

文件有两种类型,一种是类似 favicon 图标这种的静态文件,另外一种是自定义 HTML 代码,可以用于应用的自定义错误页面中。

需要注意的是,这里限制了上传文件的大小,不能超过 32 KB,否则会上传失败。

我们选择上传一个 favicon 图标,标签名是 openresty。

上传完图标,点击右下角的保存按钮后,一个全局静态文件就上传成功了。

在全局静态文件的页面,就可以看到刚才新增的文件信息:

然后再去新建一个应用,来看下如何引用这个静态文件:

我们需要新增一个改写规则,并在内容中选择静态文件:

我们选择刚才上传的那个 favicon 图标,然后选择保存:

这样在一个应用中,就引用了一个全局静态文件了。

还要走一个发布的流程,才能让它在边缘节点上生效,具体的发布流程这里不再赘述。

下面我们来验证下:

$ curl -i -H 'host: rewrite-rule-test.com' 52.43.45.19/404.html
HTTP/1.1 404 Not Found
Server: openresty+
Date: Mon, 21 Jan 2019 16:00:43 GMT
Content-Type: text/html
Content-Length: 166
Connection: keep-alive

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>openresty</center>
</body>
</html>

从返回值中,确实看到了 favicon 图标的返回。

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

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

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

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