Invoking a container in Serverless Containers
You can invoke a container:
- Over HTTPS.
- Using a trigger.
- Using a Yandex API Gateway extension.
Invoking a container triggers the active revision.
The process which starts when invoking a container depends on the container operation mode.
Container invocation ends in one of the following cases:
- Serverless Containers processed an HTTP request within the specified timeout and returned an HTTP response consistent with the container operation mode. The timeout includes the container instance launch time.
- Serverless Containers failed to process an HTTP request within the specified timeout and returned a 504 error.
- There is an infrastructure or initialization error with details provided in the response body.
HTTPS
When calling a container over HTTPS, an HTTP request is passed to the application deployed in the container.
Filtering message headers
When being passed to the container, some HTTP request and response headers change, as described below.
Removed from a request:
- "Expect"
- "Te"
- "Trailer"
- "Upgrade"
- "Proxy-Authenticate"
- "Authorization"
- "Connection"
- "Content-Md5"
- "Max-Forwards"
- "Server"
- "Transfer-Encoding"
- "Www-Authenticate"
- "Cookie"
-
Removed from a response:
- "Host"
- "Authorization"
- "User-Agent"
- "Connection"
- "Max-Forwards"
- "Cookie"
- "X-Request-Id"
- "X-Function-Id"
- "X-Function-Version-Id"
- "X-Content-Type-Options"
-
Cause an error if present in a response:
- "Proxy-Authenticate"
- "Transfer-Encoding"
- "Via"
-
Overwritten by adding the
X-Yf-Remapped-
prefix:- "Content-Md5"
- "Date"
- "Server"
- "Www-Authenticate"
IP address of the request source
If a request contains the X-Forwarded-For
Triggers
When invoking a container using a trigger, an HTTP POST request is sent to the address the container is invoked at. The request body contains a JSON description of the trigger event. The request source IP is provided in the same way as when invoking a container using HTTPS. Learn more about triggers.
Yandex API Gateway extension
When invoking a container using the API Gateway, the container is handed over an HTTP request addressed to the API gateway. In which case the Host
header specifies the host used by the user to access the API gateway, not the container's host. The request source IP is provided in the same way as when invoking a container using HTTPS. Learn more about the extension in the Yandex API Gateway documentation.