información de CDN [cerrado]

0

Si tengo un sitio web basado en contenido y el servidor web accede a un CMS para determinar qué mostrar en el sitio para una página en particular. Esto no es particularmente rápido y requiere potencia de cálculo.

Para resolver esto usamos un CDN. Por lo tanto, cuando accedemos a la memoria caché, no necesitamos tanta potencia informática y no necesitamos acceder al CMS. Si realizamos la autenticación de usuarios en el sitio, esto se convierte en un problema debido a lo siguiente.

La autenticación le permite a un usuario registrarse para iniciar sesión en esa cuenta. Esto les permitirá acceder a contenido especial, guardar y votar por el contenido y ver contenido personalizado.

Cuando haya iniciado sesión, la mayoría de las páginas del sitio web seguirán siendo las mismas, excepto por algunas diferencias:

  1. Verá "Bienvenido" en el encabezado.
  2. El menú tendrá 3 enlaces adicionales. "Mi cuenta", "Mi contenido" y "Cerrar sesión".

Una implementación de inicio de sesión típica podría tener este aspecto:

  1. Pregunte por correo electrónico y contraseña.
  2. Publicar correo electrónico y contraseña a través de https a la aplicación.
  3. La aplicación establece una cookie de sesión cifrada con el ID de usuario.
  4. Las solicitudes futuras a la aplicación serán incluir la cookie para que pueda determinar si alguien ha iniciado sesión y quien es.
  5. El encabezado se personalizará en consecuencia en el aplicación.

El problema con esta implementación es que para que funcione, tendrá que acceder al servidor web cada vez que esté en cada página, por lo que se eliminará la CDN y el valor que proporciona.

Esto parece innecesario porque como se indicó anteriormente, el sitio web seguirá siendo prácticamente el mismo incluso cuando hayas iniciado sesión.

¿Hay formas de aprovechar una CDN y aún así proporcionar la funcionalidad de inicio de sesión que estamos buscando?

    
pregunta Big_VAA 20.10.2015 - 22:07
fuente

1 respuesta

1

Un CDN es una red de distribución de contenido, es decir, distribuye el contenido que recibe de una sola fuente. El buen contenido para un CDN es estático (imágenes, CSS, ...) y el CDN no manejará ninguna autenticación (excepto a veces un TLS basado en el cliente), ni la lógica de la aplicación.

Como usted menciona

  

Las solicitudes futuras a la aplicación incluirán la cookie para que   puede determinar si alguien ha iniciado sesión y quién es.

así que hay tráfico que debe ir al servidor para manejar las comprobaciones contra las reglas de autorización.

Una posibilidad sería simplemente mover su servidor a la nube y escalarlo allí.

    
respondido por el WoJ 20.10.2015 - 23:00
fuente

Lea otras preguntas en las etiquetas