创建一条路由规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
sae:CreateIngress |
create |
*全部资源
|
无 | 无 |
请求语法
POST /pop/v1/sam/ingress/Ingress HTTP/1.1
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| NamespaceId |
string |
是 |
应用所在命名空间 ID,目前不支持跨命名空间的应用。 |
cn-beijing:sae-test |
| Description |
string |
否 |
路由规则名称。 |
ingress-for-sae-test |
| SlbId |
string |
否 |
路由规则所使用的 SLB 实例 ID。 说明
负载均衡 SLB 包括 CLB 实例和 ALB 实例。 |
lb-uf6hucc7inlqrtcq5**** |
| ListenerPort |
integer |
是 |
SLB 监听端口,该端口不能被占用。 |
80 |
| CertId |
string |
否 |
CLB 证书 ID。取值说明如下:
CLB 使用 SSL 证书 ID 的更多信息,请参见管理证书(CLB)。 |
188077086902****_176993d****_181437****_108724**** |
| CertIds |
string |
否 |
ALB 多证书 ID。取值说明如下:
|
87***35-cn-hangzhou,812***3-cn-hangzhou |
| DefaultRule |
string |
是 |
默认转发规则。按照 IP 地址,通过指定端口转发流量到指定应用。参数说明如下:
说明
所有未匹配或不满足 Rules 转发规则的请求都会转到该指定应用。 |
{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080} |
| Rules |
string |
是 |
转发规则。按照域名和请求路径,通过指定端口转发流量到指定应用。参数说明如下:
说明
目前仅有 ALB 支持设置 URL 路径重写(RewritePath)功能,CLB 不支持此功能。 |
[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/sys/(.*)/(.*)/aaa","backendProtocol":"http"}] |
| LoadBalanceType |
string |
否 |
负载均衡 SLB 的类型。取决于创建路由规则时填写的类型,更新时不可变更。取值说明如下:
|
clb |
| ListenerProtocol |
string |
否 |
请求转发协议。取值说明如下:
|
HTTP |
| SecurityPolicyId |
string |
否 |
安全策略实例 ID。 |
sp-bp1bpn0kn9**** |
| RequestTimeout |
integer |
否 |
指定请求超时时间。单位:秒。取值范围:1~180。 如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。 |
3 |
| IdleTimeout |
integer |
否 |
指定连接空闲超时时间。单位:秒。取值范围:1~60。 如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。 |
15 |
| EnableXForwardedFor |
boolean |
否 |
||
| EnableXForwardedForClientSrcPort |
boolean |
否 |
||
| EnableXForwardedForProto |
boolean |
否 |
||
| EnableXForwardedForSlbId |
boolean |
否 |
||
| EnableXForwardedForSlbPort |
boolean |
否 |
||
| AddressType |
string |
否 |
||
| LoadBalancerEdition |
string |
否 |
||
| ZoneMappings |
string |
否 |
||
| CorsConfig |
string |
否 |
||
| EnableGzip |
boolean |
否 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
返回数据。 |
||
| RequestId |
string |
请求 ID。 |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| Message |
string |
附加信息。取值说明如下:
|
success |
| TraceId |
string |
调用链 ID,用于精确查询调用信息。 |
0a98a02315955564772843261e**** |
| Data |
object |
返回结果。 |
|
| IngressId |
integer |
路由规则 ID。 |
87 |
| ErrorCode |
string |
错误码。取值说明如下:
|
空 |
| Code |
string |
接口状态或 POP 错误码。取值说明如下:
|
200 |
| Success |
boolean |
创建路由规则是否成功。取值说明如下:
|
true |
示例
正常返回示例
JSON格式
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"IngressId": 87
},
"ErrorCode": "空",
"Code": "200",
"Success": true
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | 不合法的参数:%s不能为空。 |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的参数{%s}。 |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的参数{%s}:%s。 |
| 400 | Slb.NotFound | The SLB instance does not exist: slbId [%s] | SLB不存在:slbId[%s]。 |
| 400 | Exceed.IngressRule | The number of Ingress related rules must be less than or equal to 40. | Ingress配置对应规则不可超过40条。 |
| 400 | SlbListenerPort.NotAvailable | The SLB listening port is unavailable: slbId [%s], port [%s] | SLB监听端口被占用:slbId[%s], port[%s]。 |
| 400 | SSLCert.NotFound | The specified SSL certificate cannot be found. | 找不到对应的SSL证书。 |
| 404 | InvalidResponse.Api | The response of API %s is empty. | API返回数据为空。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。