自定义错误页面
有时候我们想设定自己的 404 或者 500 的错误页面, 那么就可以使用 OpenResty Edge 提供的这个功能来实现。
它属于应用的页面规则
,我们直接新建一个页面规则来看看如何使用。
动作
的下拉列表里面有很多选项,我们拉到最下面的 “其他”,从中选择Customize error page。
自定义错误页面有 4 个可以自定义的部分:
- 错误码: 选择对于哪些 HTTP 错误码返回自定义的页面,只能选择页面中列出的几种 4xx 和 5xx 错误码;
- 类型: 分为三种:HTML 源码、后端 URL 地址,以及选择在全局静态文件中已有的 HTML 文件;
- 应答头的Content Type: 默认是
text/html; charset=utf8
,可以自己根据情况修改; - 应答体的内容: 根据类型选择的不同,这里也是填写不同的内容。
下面是一个最简单的示例,我们自定义 404 的错误应答体为字符串hello
:
这个规则我们不开启条件,直接点击右下方的创建按钮。
那么这个限制规则到底生效没有呢?我们来验证下。
我们首先要进入发布
页面,把这个规则同步到所有网关的节点中去。
如果发布可以查看发布,这里不再赘述。
然后再打开 shell 来模拟客户端的访问。
$ curl -i -H 'host: rewrite-rule-test.com' 52.43.45.19/404.html
HTTP/1.1 404 Not Found
Server: openresty+
Date: Fri, 31 Aug 2018 09:16:39 GMT
Content-Type: text/html; charset=utf8
Transfer-Encoding: chunked
Connection: keep-alive
hello
应答体果然是我们设置的hello
,而不是默认的 404 页面。