0

J'ai une page SPA statique qui utilise S3 comme origine avec CloudFront. Si je visite www.domain.com/page, j'obtiendrai le chemin CloudFront préfixé qui est attendu.Requête de redirection CloudFront avec Lambda vers la barre oblique finale

Est-il possible de capturer le chemin dans AWS Lambda et ajoutez le slash à une demande, il devient, www.domain.com/page> [Lambda]> www.domain.com/page/

J'ai cherché et essayer les ressources suivantes pour peu de résultat: http://blog.rowanudell.com/redirects-in-serverless/

http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

Répondre

0

Vous pouvez le faire de deux manières.

Dans le modèle CloudFront, vous pouvez rechercher bucket-directory/prod/page et effectuer une redirection avec un répertoire lambda-bucket/prod/page /.

Aussi, vous devez vous assurer que le modèle d'être dans l'ordre suivant, seau répertoire/prod/Page < - cela va amener à lambda pour effectuer rediriger seau répertoire/prod/page/

page sera une regex basée sur votre convention de nommage.

Ou Vous pouvez écrire une fonction Lambda qui peut prendre l'URL et modifier l'URL pour ajouter une barre oblique si elle n'est pas là et transmettre la requête à l'origine.

http://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html

Lambda Edge beaucoup plus facile et évite une redirection. Avec Lambdda Edge, vous pouvez également passer de bucket-directory/prod/page à bucket-directory/something/someotherpage.

Le lien de la documentation devrait vous aider.