CodeGenieApp / CodeGenieApp/serverless-express

Lambda@Edge origin response event errors out with 502 error because read-only header was deleted

Ouverte
#369 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
JavaScript
Étoiles
5.3k
Forks
676
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

The Cloudfront request responds with:
```The Lambda function result failed validation: The function tried to add, delete, or change a read-only header. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.```

From CloudWatch logs:
```ERROR Validation error: Lambda function result failed validation, the function tried to delete read-only header, headerName : Transfer-Encoding.```

I've figured out a workaround that is to just copy the header manually, but I wonder if the library should've taken care of that itself?

```js
import { getCurrentInvoke } from '@vendia/serverless-express';

router.get('/*', (req, res) => {
const { event } = getCurrentInvoke();

if (event.Records[0].cf.response.headers['transfer-encoding']) {
res.setHeader(
'Transfer-Encoding',
event.Records[0].cf.response.headers['transfer-encoding'][0].value,
);
}
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Retrace le chemin origin-response de Lambda@Edge et la gestion des en-têtes de réponse autour de getCurrentInvoke(), en te concentrant sur l’en-tête Transfer-Encoding indiqué dans l’erreur de validation de CloudWatch. Reproduis la réponse 502 de CloudFront et vérifie que la réponse résultante n’essaie plus de supprimer un en-tête en lecture seule.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, express, javascript, node.js
Domaine
backend, cloud
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.