Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

147
Visualizações
Manejo de la reescritura/redireccionamiento de la ruta para normalizarla antes de acceder al SPA

Tengo que manejar la ruta por la que el usuario accede a mi aplicación SPA, que se entrega a través de una distribución de CloudFront.

La ruta es domain.com/client-slug/country-slug/language-slug/... .

Estos 3 parámetros de ruta, client-slug , country-slug y language-slug deben estar presentes para que el SPA funcione correctamente.

El client-slug es obligatorio: sin él, el usuario debe ser redirigido a uno predeterminado y la ruta de ubicación debe volver a escribirse. Este client-slug se envía a través de una API REST para comprobar si existe, es válido y está online, devolviendo el país y el idioma disponible para el acceso que se está realizando. Si en el acceso del usuario se informa un país y/o un idioma, se utilizan en esta solicitud, por lo que también se pueden validar.

El country-slug se calcula utilizando el encabezado de país de CloudFront. Si es incorrecto, falta o tiene el marcador de posición WorldWide ww value, el usuario debe ser redirigido al de CF.

Lo mismo para language-slug , pero solo si este idioma está disponible para el país definido previamente.

Entonces, por ejemplo, aquí tenemos una lista de Ruta de ubicación original a Ruta de ubicación final:

 domain.com => domain.com/default-slug/country/language domain.com/events => domain.com/default-slug/country/language/events domain.com/valid-client-slug => domain.com/valid-client-slug/country/language domain.com/valid-client-slug/events => domain.com/valid-client-slug/country/language/events

Además, la aplicación está escrita en AngularJS, por lo que debe enrutar al usuario a un archivo de entrada, index.html en este caso.

  • ¿Cómo puedo manejar el enrutamiento adecuado del usuario siguiendo el comportamiento descrito usando una función Lambda@Edge?
  • ¿En qué disparador debo poner la función?
  • ¿El proceso para devolver el archivo de entrada debe estar en el mismo activador/función o puede estar en otro?
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede lograr esto usando CloudFront Functions (CF2) en el activador de solicitud del espectador. Parece que necesitas dos cosas:

  1. Determinar el país del espectador para cada solicitud (que a su vez se utiliza para determinar el idioma).
  2. Reescribir la solicitud y asegurarse de que las solicitudes reescritas de manera idéntica se almacenen en caché (si utiliza el almacenamiento en caché)

Para 1, puede usar los encabezados de país de CloudFront como mencionó anteriormente. Para acceder a estos encabezados HTTP desde una función CF2, deberá incluirlos en su política de solicitud de origen para que estén disponibles para la función CF2. Sugeriría no ponerlos en su política de caché porque de todos modos estará reescribiendo el URI que se usará para la clave de caché. Y sí, aunque agrega los encabezados en una política de solicitud de origen, están normalizados y disponibles para una función CF2 que se ejecuta en un disparador de solicitud de espectador.

Para 2, querrá actualizar el URI de solicitud enviado al origen en la función. Este URI actualizado se usará para calcular su clave de caché, lo que garantiza que CF almacene en caché las solicitudes. Esta es una buena función de referencia para usar como ejemplo para implementar una reescritura de URI con CF2:

https://github.com/aws-samples/amazon-cloudfront-functions/tree/main/url-rewrite-single-page-apps

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda