All Products
Search
Document Center

Serverless App Engine:CreateIngress

Last Updated:Mar 17, 2026

Creates a routing rule.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

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 resides. Currently, 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 Server Load Balancer (SLB) instance that is used by the routing rule.

Note

SLB SLB instances include CLB instances and ALB instances.

lb-uf6hucc7inlqrtcq5****

ListenerPort

integer

Yes

The SLB listening port. This port cannot be occupied.

80

CertId

string

No

The ID of the CLB certificate. Valid values:

  • If you set LoadBalanceType to clb, you can use CertId to configure a certificate for the HTTPS listener.

For more information about how to use SSL certificate IDs for CLB, see Manage certificates (CLB).

188077086902****_176993d****_181437****_108724****

CertIds

string

No

The ID of the multi-certificate ALB. Valid values:

  • If the LoadBalanceType is alb, use this field to configure multiple certificates for HTTPS listeners. Separate multiple certificate IDs with commas (,).

  • The ID of the SSL certificate used by ALB must be obtained from the digital certificate product. For example, in the configuration 756***-cn-hangzhou, the 756*** is the certificate ID obtained from the product page, and the -cn-hangzhou is a fixed suffix. For more information, see Manage certificates.

87***35-cn-hangzhou,812***3-cn-hangzhou

DefaultRule

string

Yes

The default forwarding rule. Forwards traffic to a specified application through a specified port based on the IP address. The following table describes the parameters.

  • appId: the ID of the application.

  • containerPort: The port of the application instance.

Note

All requests that do not match or satisfy Rules forwarding rules are forwarded to the specified application.

{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}

Rules

string

Yes

The forwarding rule. Forwards traffic to a specified application through a specified port based on the domain name and request path. The following table describes the parameters.

  • appId: the ID of the application.

  • containerPort: The port of the application instance.

  • domain: the domain name.

  • path: the request path.

  • backendProtocol: The backend service protocol. Valid values: http, https, and grpc. Default value: http.

  • rewritePath: Rewrite the path.

Note

Only ALB allows you to set the RewritePath feature. CLB does not support this feature.

[{"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

SLB the type of the SLB instance. It depends on the type that you entered when you created the routing rule and cannot be changed when you update it. Valid values:

  • clb: traditional SLB CLB (formerly SLB).

  • alb: Applied SLB ALB.

clb

ListenerProtocol

string

No

The request forwarding protocol. Valid values:

  • HTTP: suitable for applications that need to identify data content.

  • HTTPS: suitable for applications that require encrypted transmission.

HTTP

SecurityPolicyId

string

No

The ID of the security policy instance.

sp-bp1bpn0kn9****

RequestTimeout

integer

No

Specifies the request timeout period. Unit: seconds. Valid values: 1 to 180. If the backend server does not respond within the timeout period, the SLB abandons the wait and returns an HTTP 504 error code to the client.

3

IdleTimeout

integer

No

Specifies the connection idle timeout period. Unit: seconds. Valid values: 1 to 60. If there is no access request within the timeout period, the SLB will temporarily interrupt the current connection until the next request comes to re-establish a new connection.

15

EnableXForwardedFor

boolean

No

-

EnableXForwardedForClientSrcPort

boolean

No

-

EnableXForwardedForProto

boolean

No

-

EnableXForwardedForSlbId

boolean

No

-

EnableXForwardedForSlbPort

boolean

No

-

AddressType

string

No

-

LoadBalancerEdition

string

No

-

ZoneMappings

string

No

-

CorsConfig

string

No

-

Response elements

Element

Type

Description

Example

object

The returned data.

RequestId

string

The ID of the request.

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****

Message

string

Additional information. Valid values:

  • The error message returned because the request is normal and success is returned.

  • If the request is abnormal, the specific exception error code is returned.

success

TraceId

string

The ID of the trace. This parameter is used to query the exact call information.

0a98a02315955564772843261e****

Data

object

Responses.

IngressId

integer

The ID of the routing rule.

87

ErrorCode

string

Error code. Valid values:

  • If the request is successful, no ErrorCode fields are returned.

  • Request failed: ErrorCode fields are returned. For more information, see Error codes.

Code

string

The HTTP status code or the error code. Valid values:

  • 2xx: The request was successful.

  • 3xx: The request was redirected.

  • 4xx: The request failed.

  • 5xx: A server error occurred.

200

Success

boolean

Indicates whether the routing rule was created. Valid values:

  • true: The ConfigMap was created.

  • false: The ConfigMap failed to be created.

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.