Create a routing rule.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
sae:CreateIngress |
create |
*All Resource
|
None | None |
Request syntax
POST /pop/v1/sam/ingress/Ingress HTTP/1.1
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| NamespaceId |
string |
Yes |
The ID of the namespace where the application is located. Cross-namespace applications are not supported. |
cn-beijing:sae-test |
| Description |
string |
No |
The name of the routing rule. |
ingress-for-sae-test |
| SlbId |
string |
No |
The ID of the Server Load Balancer (SLB) instance associated with the routing rule. Note
Server Load Balancer (SLB) includes Classic Load Balancer (CLB) and Application Load Balancer (ALB) instances. |
lb-uf6hucc7inlqrtcq5**** |
| ListenerPort |
integer |
Yes |
The listener port for the SLB instance. This port must be available. |
80 |
| CertId |
string |
No |
The ID of the CLB certificate.
For more information about how to use SSL certificate IDs for CLB, see Manage Certificates (CLB). |
188077086902****_176993d****_181437****_108724**** |
| CertIds |
string |
No |
The IDs of the ALB certificates.
|
87***35-cn-hangzhou,812***3-cn-hangzhou |
| DefaultRule |
string |
Yes |
The default forwarding rule. Requests that do not match any forwarding rule in the
Note
This rule serves as a catch-all for traffic that is not handled by other specific forwarding rules. |
{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080} |
| Rules |
string |
Yes |
The forwarding rules. These rules route traffic to a specified application based on the domain name and path. The value is a JSON string. Each rule contains the following parameters:
Note
Only ALB supports path rewriting ( |
[{"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 |
No |
The type of the Server Load Balancer (SLB) instance. This parameter cannot be changed after the routing rule is created. Valid values:
|
clb |
| ListenerProtocol |
string |
No |
The request forwarding protocol. Valid values:
|
HTTP |
| SecurityPolicyId |
string |
No |
The ID of the security policy instance. |
sp-bp1bpn0kn9**** |
| RequestTimeout |
integer |
No |
The request timeout, in seconds. Valid values: 1 to 180. If a backend server does not respond within the timeout period, the load balancer stops waiting and returns an HTTP 504 error to the client. |
3 |
| IdleTimeout |
integer |
No |
The connection idle timeout, in seconds. Valid values: 1 to 60. If no request is received within the timeout period, the load balancer temporarily closes the connection. The connection is re-established when the next request is received. |
15 |
| EnableXForwardedFor |
boolean |
No |
Specifies whether to use the |
true |
| EnableXForwardedForClientSrcPort |
boolean |
No |
Specifies whether to use the |
true |
| EnableXForwardedForProto |
boolean |
No |
Specifies whether to use the |
true |
| EnableXForwardedForSlbId |
boolean |
No |
Specifies whether to use the |
true |
| EnableXForwardedForSlbPort |
boolean |
No |
Specifies whether to use the |
true |
| AddressType |
string |
No |
The address type. Valid values:
|
Internet |
| LoadBalancerEdition |
string |
No |
The edition of the Application Load Balancer (ALB) instance. Different editions have different features and billing policies. Valid values:
|
Standard |
| ZoneMappings |
string |
No |
A JSON string that contains the mappings between availability zones and VSwitches. If the current region supports two or more availability zones, you must specify at least two. A ZoneMapping consists of the following parameters:
|
[{"VSwitchId":"vsw-wz9klui6icc08p6******","ZoneId":"cn-shenzhen-c"},{"VSwitchId":"vsw-wz9frrmoeuki2wp******","ZoneId":"cn-shenzhen-e"}] |
| CorsConfig |
string |
No |
Specifies the Cross-Origin Resource Sharing (CORS) configuration. |
{"Enable":"true"} |
| EnableGzip |
boolean |
No |
Specifies whether to enable Gzip for data compression. |
true |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The data returned. |
||
| RequestId |
string |
The ID of the request. |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| Message |
string |
The returned message.
|
success |
| TraceId |
string |
The trace ID that is used to query the details of the request. |
0a98a02315955564772843261e**** |
| Data |
object |
The returned results. |
|
| IngressId |
integer |
The ID of the routing rule. |
87 |
| ErrorCode |
string |
The error code.
|
|
| Code |
string |
The HTTP status code. Valid values:
|
200 |
| Success |
boolean |
Indicates whether the routing rule was created. Valid values:
|
true |
Examples
Success response
JSON format
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"IngressId": 87
},
"ErrorCode": "",
"Code": "200",
"Success": true
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | |
| 400 | Slb.NotFound | The SLB instance does not exist: slbId [%s] | |
| 400 | Exceed.IngressRule | The number of Ingress related rules must be less than or equal to 40. | |
| 400 | SlbListenerPort.NotAvailable | The SLB listening port is unavailable: slbId [%s], port [%s] | |
| 400 | SSLCert.NotFound | The specified SSL certificate cannot be found. | |
| 404 | InvalidResponse.Api | The response of API %s is empty. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.