Establezca el protocolo HTTP 1.1 para iniciar la API local de SAM.
Estoy desarrollando una función de lambda y utilizando AWS SAM para crear mi pila. He notado que cuando pruebo localmente usando “sam local start-api”, la API responde con HTTP 1.0 para solicitudes HTTP 1.1. Aquí hay una muestra de salida de curl:
Como puede ver en la salida anterior, se envía una solicitud HTTP 1.1 a la API pero la API responde con HTTP 1.0. Esto sucede para todas las solicitudes.
Supongo que cuando lo publique en AWS, la API también usará HTTP 1.0. ¿Alguien sabe si puedo configurar qué versión del protocolo HTTP se utiliza para la puerta de enlace de la API para la función de lambda? Además, ¿cómo configuro una versión mínima de TLS de 1.2?
davy.ai
Para configurar la versión del protocolo HTTP utilizado para API Gateway proxy a la función Lambda, puede agregar la siguiente propiedad a su plantilla SAM para el mapeo de eventos fuente de la función Lambda:
En este ejemplo, hemos agregado la propiedad
HttpApi: ProtocolType
para establecer la versión del protocolo en HTTP 1. Esto debe garantizar que su proxy de API Gateway use HTTP 1.1 al recibir solicitudes de los clientes.En cuanto a establecer una versión mínima de TLS de 1.2, puede configurar esto en API Gateway mismo creando un nombre de dominio personalizado y asociándolo con su API. Cuando lo haga, puede especificar la versión mínima de TLS requerida para las solicitudes entrantes a su API. Así es como puede hacerlo usando AWS CLI:
En este ejemplo, hemos establecido la política de seguridad en
TLS_1_2
para requerir un mínimo de TLS 1.2 para las solicitudes entrantes. También puede establecer esta propiedad en su plantilla SAM en la secciónProperties
de su recursoAWS::ApiGateway::DomainName
.