HTTP 应用

HTTP 应用.

创建应用

在 Edge 产品中,应用的域名是唯一的,所以在新建应用之前,需要保证之前没有添加过这个域名,不然会报错。 这里我们先搜索下要添加的域名 rewrite-rule-test.com: 如果这个域名已经存在,我们先删除,再继续添加。

发布应用的修改

在 Edge Admin 中对应用做了修改,都是需要发布才能在网关的节点生效的。 下面我们通过新建一个简单的页面规则,来熟悉下发布的流程。 我们选择最简单的 输出响应体: 这个规则我们不开启条件,直接点击右下方的创建按钮。 那么这个限制规则到底生效没有呢?我们来验证下。

应用设置

创建应用后,可以在应用设置调整域名,分区和访问端口白名单等等。 下面介绍一下应用设置中较为特殊的配置项。 设置是否允许通过 HTTP2 访问当前应用,默认会根据集群分区的端口配置来决定,也可以单独开启或者关闭当前应用的 HTTP2。

反向代理到上游

反向代理是 OpenResty Edge 网关的核心功能之一,本文将详细介绍如何在 Edge Admin 中配置反向代理规则。 首先进入 页面规则 页面,在此处添加网关反向代理到上游的页面规则。 点击 新建规则 按钮开始配置。 规则配置中的 Proxy 模块默认处于关闭状态,需要先点击展开该模块。

代理中上游节点的重试次数

在反向代理中,一个上游通常会有多个上游节点,当一个上游节点返回错误时,我们会尝试使用其他的上游节点。 这个重试次数可以通过 Edge Admin 来设置,最安全的重试次数是与上游节点数保持一致。我们来看下如何设置。 首先点击进入改写规则页面,在这里添加网关反向代理到上游的规则。

代理缓存

OpenResty Edge 也可以开启缓存功能。如果代理的请求是静态资源,或者更新时效要求不高的资源,则可以配置开启缓存,如果在命中了网关节点缓存的资源,则可以减少重复回上游的次数。 如下,有一个普通的反向代理规则。 我们编辑这条规则(也可以新建的时候,开启缓存,操作是一样的)。 打开缓存。

gRPC 代理

gRPC 需要支持 HTTP2,我们需要先在集群分区里开启现有端口 HTTP2 支持。 对于 HTTPS 端口,也可以在应用设置里单独开启 HTTP2。具体可以参考这个文档。 新建页面规则前先创建上游,gRPC 的上游配置方式与普通上游相同,我们先创建一个 gRPC 上游。

绑定上游到 k8s 服务

如果上游的节点是某个 k8s 服务,可以将这个上游和 k8s 服务进行绑定。 这样当 k8s 服务的节点 IP 有变动的时候,OpenResty Edge™ 会感知到并自动更新上游节点。 新建上游的时候选择 Use Kubernetes Service。

复制 HTTP 应用

需要创建配置相同,但域名、端口或网关分区不同的新应用时,可以复制现有 HTTP 应用。源应用不会被修改。 此功能在 OpenResty Edge 26.9.1-1 中首次引入。 具有应用写权限的用户可以从 HTTP 应用列表或应用页头选择 复制。只有 HTTP 应用可以作为复制来源。

启用 HTTP/3

首先需要在 全局配置/通用 中确保已启用 TLSv1.3 协议支持 Screenshot 在 全局配置/集群分区 中,需要为分区添加 HTTP/3 监听端口。由于 HTTP/3 使用 UDP 协议,这里添加与 HTTPS 相同的 443 端口。

CC 攻击日志

CC 攻击日志记录 OpenResty Edge 的 CC 防护规则触发情况,可用于确认异常来源、分析被攻击的 URI,并根据实际流量调整限流阈值和拒绝动作。建议在配置 CC 攻击防护 后同时启用该日志。

响应体压缩

响应体压缩.