全局静态文件

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

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

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

全局静态文件 - 图1

全局静态文件 - 图2

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

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

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

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

全局静态文件 - 图3

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

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

全局静态文件 - 图4

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

全局静态文件 - 图5

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

全局静态文件 - 图6

全局静态文件 - 图7

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

全局静态文件 - 图8

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

全局静态文件 - 图9

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

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

全局静态文件 - 图10

下面我们来验证下:

  1. $ curl -i -H 'host: rewrite-rule-test.com' 52.43.45.19/404.html
  2. HTTP/1.1 404 Not Found
  3. Server: openresty+
  4. Date: Mon, 21 Jan 2019 16:00:43 GMT
  5. Content-Type: text/html
  6. Content-Length: 166
  7. Connection: keep-alive
  8. <html>
  9. <head><title>404 Not Found</title></head>
  10. <body bgcolor="white">
  11. <center><h1>404 Not Found</h1></center>
  12. <hr><center>openresty</center>
  13. </body>
  14. </html>

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

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

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

全局静态文件 - 图11

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

全局静态文件 - 图12

全局静态文件 - 图13

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