概述
安装管理 node
如果是免费体验的 demo 环境,我们已经部署好了 node,可以直接跳过此步。
按照我们单独交付的安装流程,新安装好的 node 会出现在「网关集群」下方的「候选节点」列表,我们可以选择批准加入某个集群。 一般来说,集群是按照地域来区分的,同一个机房的 node 节点会放到同一个集群。
新建应用
Edge 部署好了之后,我们可以开始创建应用。 比如我们新建一个包含 foo.test.com 应用,用这个域名去访问 node 的所有行为,都可以在这个应用里配置。
新建的应用没有任何配置,所有访问都会得到 404。
比如
体验 hello world
应用内的主要配置都在「页面规则」里,比如我们可以用 Edge 语言快速实现 hello world。
我们在 「此页面开始时的定制 Edge 语言规则」下面的编辑框里输入:
say("hello world!");
点击保存之后,右上角会出现「你有 1 个未发布变更 待发布」,这是保险起见,应用内的配置变更并不会立即生效,需要我们确认发布之后,才会真实的在 node 上生效。
我们顺着「待发布」链接,进入发布页面,点击发布,很快(可能肉眼看不到变化)我们可以看到同步状态又回到 100%,意味着新的配置已经同步到 node 生效了。
此时我们可以再来请求一次 node,我们将得到 hello world!
的输出:
关于 Edge 语言的更多细节,请查看
- 反向代理到源站
反向代理是 Edge 最基本的功能,比如我们可以配置如下规则:
- 点开「启用条件」
- URI 前缀匹配 字符串
/api/
- 点开「代理」
- 选择代理到上游,因为我们还没有上游配置,所以需要选择「新上游…」,开始新建上游
- 输入上游的名字:
api-server
,主机名:47.91.165.147
,点击保存,一个新的上游就配置好了 - 此时已经自动回到新建规则的界面,点击「创建」
\===>>>
\===>>>
此时一个简单的反向代理规则就创建好了,同样的,发布之后即可生效。
这个规则意味着,以 /api/ 为前缀的请求,将通过 http 协议回源到 的 80
端口,我们可以验证一下:
$ curl -x 47.56.103.89:80 http://foo.test.com/api/xx
recevied URI: /api/xx
request from IP: 47.56.103.89
server IP: 47.91.165.147
备注: 是我们为 demo 创建的一个源站。
启用 cache
默认不会启用 cache,请求会直接转发到源站,然后再把源站的响应返回给请求方。 如果需要 cache,我们可以如下配置:
- 点编辑(上一步创建的规则)
- 点开缓存,默认使用 URI + 查询字符串 当做缓存键,我们可以不做改动,其余也保持默认值
- 点击保存
同样的,发布的即可生效,我们再来测试一下:
是的,第二个请求已经命中了 Cache,不需要回源了,node 直接用缓存响应了。
开启 WAF
如果希望在网关 node 上开启应用防火墙,防御 SQL 注入、XSS 跨站脚本、 Web 服务器漏洞、木马等攻击,可以这样配置:
- 点开 WAF,默认会开启内置的 5 个规则集
- 拦截动作默认是「仅记录日志」,意味着如果发现有威胁的请求只会记录下来,不会真的拦截,这个比较适合调试阶段。
- 点击保存
同样的,发布之后,我们再来测试一下
$ curl -x 47.56.103.89:80 http://foo.test.com/api/root.exe
recevied URI: /api/root.exe
request from IP: 47.56.103.89
server IP: 47.91.165.147
看起来没有异常发生,我们再点开左侧的「WAF 日志」,可以看到一条可疑请求记录,其中原因为命中了关键词 root.exe。
更多配置
如上我们已经完成了基本的体验,如果还需要更多的配置,比如限速,设置回源的请求头,设置响应头,自定义错误页 等等,可以从规则的「动作部分」选择对应的动作,比如:
也可以参考
多个规则
目前为止,这个测试应用只配置一个规则,也即只定义了以 /api/
为前缀的请求的行为。 同一个应用(域名)的不同请求方式,会有不同的行为,也是很常见的,此时我们需要为不同的请求方式,设置不同的行为,比如回源的上游,cache 策略,WAF 策略等等,很自然的,我们可以新建规则来完成配置。
当有多个规则时,规则的条件部分有重叠会怎么办呢? 不用担心,很简单,只有一个原则: 页面上的显示顺序,即是规则的执行顺序,总是从上面的规则开始往下执行。 如果命中的规则开启了「跳过当前页余下规则」,则不会继续执行余下的规则。
在规则列表里也可以清晰的看到:
配置 SSL 证书
以上体验都是用的 http,如果要通过 https 访问,我们需要配置 SSL 证书。 我们点击左侧栏的「SSL」,一共有三种方式来配置证书,我们来体验下最简单的情况(手动上传证书)
- 点击右上角「新证书」
- 选择「手动上传」
- 选择证书和私钥,可以选择本地文件,也可以直接复制输入证书/私钥的内容
- 保存
同样的,发布之后,我们再来测试一下
另外还有两种配置证书的方式,
- 通过 Edge 内部集成的 Let’s Encrypt 来自动签发证书
- 直接使用已经在全局配置里上传过的全局证书,这个适合某些泛域名证书可以跨应用共享的场景
请移步更多相关的文档
探索更多功能
至此我们已经体验了最基本的配置,Edge 里还有更多的基础常用功能,比如错误日志,指标统计,缓存刷新,权限控制等等,也还有更多的高级功能,比如适用于跨全球网络的「多层网络」回源,自定义动态指标统计,配置回滚等等,可以慢慢体验,有问题可以查看文档,或者直接与我们联系。
欢迎扫下方二维码,关注「OpenResty 软件」,期待您与我们联系。