aws / aws/aws-lambda-dotnet

The statusDescription header must contain the status code and reason phrase, separated by a single space -- ALB returning 502 from Lambda

Abierto
#507 12 comentarios 0 reacciones 0 asignados Ver en GitHub
feature-request module/aspnetcore-support p2 queued
Lenguaje dominante
C#
Estrellas
1.7k
Forks
503
Merge medio
1 d 18 h
PR fusionados (30 d)
21

Descripción

I've created a Lambda that check on a DynamoDB table the existence of a record matching host and request path and, if found, returns a redirect to the matching URL.

My Lambda returns this response but the ALB returns 502.
```
{
"statusCode": 301,
"statusDescription": null,
"headers": {
"Location": "https://www.my-target.co.uk/"
},
"multiValueHeaders": null,
"body": "Redirecting to https://www.my-target.co.uk/",
"isBase64Encoded": false
}
```

This is the log I find in CloudWatch for the Lambda function
```
START RequestId: 8b5a28f2-c56d-4418-a7b9-66ebe0ba2470 Version: $LATEST
[Information] EMG.ApplicationLoadBalancerRequestHandler: Received: GET /
[Information] EMG.ApplicationLoadBalancerRequestHandler: Processing: my-test.net /
[Information] EMG.RedirectManagers.RedirectTableRedirectManager: Fetching item: my-test.net / from table redirect-table
[Information] EMG.ApplicationLoadBalancerRequestHandler: Found: https://www.target.co.uk/ Permanent
END RequestId: 8b5a28f2-c56d-4418-a7b9-66ebe0ba2470
REPORT RequestId: 8b5a28f2-c56d-4418-a7b9-66ebe0ba2470 Duration: 69.59 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 39 MB
```

This is the response I get

```
HTTP/1.1 502
status: 502
Server: awselb/2.0
Date: Thu, 15 Aug 2019 19:13:58 GMT
Content-Type: text/html
Content-Length: 138
Connection: keep-alive

502 Bad Gateway

502 Bad Gateway




```

I couldn't find anything saying we can't return non-200 responses from Lambda, so I really have no idea...

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comience con el AWS Application Load Balancer Lambda response contract y la respuesta proporcionada, centrándose en null statusDescription y la 301 redirect. Rastree cómo este repositorio gestiona statusCode y statusDescription, y verifique después el formato requerido de status-code/reason-phrase y el comportamiento resultante de la respuesta non-200.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, csharp
Área
backend-api-design, cloud
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.