配置路由策略
配置跨域策略
对于已创建的路由,可配置其跨域策略。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的实例名称。
- 在左侧导航栏选择“路由管理 > 路由配置”。
- 单击待配置的路由名称,在路由详情页面的“策略配置”区域,在“跨域”页签下,单击“配置跨域策略”,在“配置跨域策略”弹出框,配置如下参数。
表1 跨域策略 参数
描述
允许的访问来源
设置允许通过浏览器访问服务器资源的站点,其作用于Access-Control-Allow-Origin头部,可以添加多条,以换行分隔。默认为*,允许所有的访问来源。
允许的方法
选择跨域访问时允许的HTTP方法,常见的方法有GET、POST、PUT、DELETE、HEAD、OPTIONS和PATCH,其作用于Access-Control-Allow-Methods头部,默认全选。
允许的请求头
设置跨域访问时允许的Header,其作用于Access-Control-Allow-Headers头部,可以添加多条,以换行分隔。默认为*,允许所有的请求头。
允许的响应头
允许浏览器、JavaScript脚本访问的响应头部,其作用于Access-Control-Expose-Headers头部,可以添加多条,以换行分隔。
默认为*,允许所有的响应头。
携带凭证
跨域访问时可是否允许携带凭证信息,其作用于Access-Control-Allow-Credentials头部,默认为“允许”。
预检过期时间
指定本次预检请求的有效期,在有效期内,无需再次发出预检请求。其作用于Access-Control-Max-Age头部,默认为24h。
跨域策略开关
可设置该策略是否打开,默认打开。
- 单击“确定”创建完成。跨域策略创建完成后,可单击“跨域”页签的“修改跨域策略”根据需要编辑策略。
配置限流策略
应用网关支持对路由规则配置限流策略,包括限制TPS、限制并发数、根据URL限制、根据IP限制等。
只有服务来源是servicecomb引擎和Nacos引擎的服务支持限流策略。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的实例名称。
- 在左侧导航栏选择“路由管理 > 路由配置”。
- 单击待配置的路由名称,在路由详情页面的“策略配置”区域,在“限流”页签下,单击“新建限流规则”,在弹出框中配置限流策略参数。
- 限流类型为“标准限流”,配置如下参数。
表2 标准限流 参数
描述
*规则名称
可自定义输入限流规则名称。
限流类型
选择限流类型为“标准限流”。
*QPS阈值
设置QPS阈值。目的是当路由的QPS指标达到设定的阈值时,应用网关会立即拦截流量,防止瞬时的流量高峰将后端服务破坏,确保高可用性。
URL路径
请求的URL,对应请求头中的 :PATH 的内容。默认为全部路径,也根据需要可输入自定义路径。
请求源IP
发起调用的请求方IP。默认为全部IP,也可根据需要自定义输入IP。
是否启用规则
可单击启用规则,开启后,限流规则生效。默认规则为禁用状态。
- 限流类型为“自定义限流”,配置如下参数。
表3 自定义限流 参数
描述
*规则名称
可自定义输入限流规则名称。
限流类型
选择限流类型为“自定义限流”。
*总体限流阈值
输入请求数和时间设置总体限流阈值,表示单位时间内只允许指定数量的请求访问。目的是当路由的QPS指标达到设定的阈值时,应用网关会立即拦截流量,防止瞬时的流量高峰将后端服务破坏,确保服务高可用性。
URL路径
请求的URL,对应请求头中的 :PATH 的内容。默认为全部路径,也可根据需要自定义路径。
请求源IP
发起调用的请求方IP。默认为全部IP,也可根据需要自定义输入IP。
突发最大请求数
设置允许突发流量瞬时的最大请求数。目的是当路由的最大请求数超过该设定值时,应用网关会立即拦截,确保服务高可用。该取值默认与总体限流阈值相同,也可根据需要自定义设置突发最大请求数。
是否启用规则
单击启用规则,开启后,限流规则生效。默认规则为禁用状态。
- 限流类型为“自定义限流”,配置如下参数。
- 限流类型为“标准限流”,配置如下参数。
- 单击“确定”创建完成。限流规则创建成功后,还可根据业务需要进行如下操作:
- 若限流规则未启用,可单击待启用的限流规则“启用状态”列的使该规则生效。
- 若您想禁用某限流规则,可单击待禁用的限流规则“启用状态”列的禁用该规则。
- 若您想要查看限流规则的详细信息,可单击待查看的限流规则“操作”列的“查看详情”查看规则详细信息。
- 若您需要修改限流规则,可单击待编辑的限流规则“操作”列的“编辑”修改限流规则。
- 若某限流规则已不再适用,您可单击待删除的限流规则“操作”列的“删除”将该限流规则删除。
配置重试策略
应用网关支持对路由设置重试策略,设置在哪些情况下会进行重试、重试多少次,为出错的请求自动进行重试。
不配置重试策略时,重试状态默认为“已关闭”。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的应用网关实例名称。
- 在左侧导航栏选择“路由管理 > 路由配置”。
- 单击待配置的路由名称,在路由详情页面的“策略配置”区域,在“重试”页签下,单击“修改重试策略”,在弹出框中配置重试策略参数。
表4 重试策略参数 参数
描述
*重试次数
设置当符合重试条件的请求出错时可进行重试的最大次数。重试次数支持设置0~10次。
说明:当重试次数设置为0时,表示重试功能不生效。
重试条件
选择在满足什么情况下应用网关会进行重试,可同时选择多个。
- 5xx:当后端服务返回任何5xx响应时,应用网关将尝试对出错请求进行重试。
说明:
5xx包含connect-failure和refused-stream的条件。
- reset:当发生连接断开、重置、读取超时事件,应用网关将尝试对出错请求进行重试。
- connect-failure:当请求是由连接断开导致的出错,应用网关将尝试对出错请求进行重试。
- refused-stream:当后端服务以REFUSED_STREAM错误代码来重置流,应用网关将尝试对出错请求进行重试。
- retriable-status-codes:当后端服务响应结果的HTTP状态码匹配上您指定的重试状态码,应用网关将尝试对该请求进行重试。
重试状态码
指定对某个响应的HTTP状态码进行重试,支持配置多个HTTP状态码。
说明:当“重试条件”选择“retriable-status-codes”时,需配置此参数。
是否启用重试
- 可单击启用重试策略。
- 可单击关闭重试策略。
说明:
关闭重试策略后,应用网关内部存在默认的重试配置,重试次数默认为2次,重试条件默认为connect-failure、refused-stream、unavailable、cancelled和retriable-status-codes。
- 5xx:当后端服务返回任何5xx响应时,应用网关将尝试对出错请求进行重试。
- 单击“确定”重试策略配置完成。还可根据业务需要修改、开启或禁用重试策略。
配置重写策略
应用网关允许对主机域、路径分别设置重写(也可只重写其中一个)。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的应用网关实例名称。
- 在左侧导航栏选择“路由管理 > 路由配置”。
- 单击待配置的路由名称,在路由详情页面的“策略配置”区域,在“重写”页签下,单击“配置重写策略”,在弹出框中配置重写策略参数。
表5 重写策略参数 重写范围
参数
描述
路径
重写类型
重写类型分为:标准和正则。
- 标准重写:对于路径精确匹配或路径正则匹配的路由,进行完整覆盖重写;对于路径前缀匹配的路由,仅重写前缀匹配的部分。
- 正则重写:根据正则表达式进行重写。
说明:
两种类型为互斥关系。
重写路径
输入重写的路径。支持精确重写、前缀重写。使用此值重写原始的路径(或前缀)部分。如果原始路径是根据前缀匹配的,则此字段中提供的值将替换相应匹配的前缀。
说明:当选择“标准”重写类型时需要配置此参数。
匹配模式
设置匹配路径上需要修改的内容。如输入^/service/([^/]+)/(.*)$。
说明:当选择“正则”重写类型时需要配置此参数。
重写替换
设置使用此值替换匹配路径上的内容。如输入/customprefix/\2/\1。
说明:当选择“正则”重写类型时需要配置此参数。
主机域
重写主机域
支持精确重写,使用此值重写原有主机域。
- 设置“是否启用重写规则”,默认启用重写策略。
- 可单击启用重写策略。
- 可单击关闭重写策略。
- 单击“确定”,重写策略完成。重写策略创建完成后,可单击“重写”页签的“配置重写策略”根据需要编辑策略。