Cargando



Nginx - Peticiones

En este tutorial veremos cómo manejar las peticiones internas que son muy importantes para lograr una instalación y un servicio óptimo cuando tenemos una infraestructura que utiliza Nginx como servidor web.


jun 08 2014 02:03
Profesional
jun 08 2014 20:39
Nginx aparte de ser muy bueno sirviendo los archivos estáticos y su alto rendimiento cuando se utiliza de reverse proxy para otro servicio, también tiene un poderoso motor de manejo de peticiones, esto nos permite gestionar las peticiones externas que vienen a través de HTTP y también generar peticiones internas que genere el mismo Nginx según las condiciones que programemos.

Peticiones Externas e Internas

El primer paso que debemos dar es reconocer las peticiones externas y las internas, sus nombres ya lo reflejan bastante bien, las peticiones externas las recibe Nginx fuera de su sistema, a través del HTTP, entonces cuando un usuario introduce una URL que va directo contra nuestro servicio es una petición externa.

Petición interna
Una petición interna en cambio se genera dentro del mismo Nginx, esta puede estar asociada a una petición externa o no, aunque es relativo ya que todos los eventos generalmente son detonados por las peticiones de los usuarios.


Así entonces si por ejemplo caemos en una respuesta 404 de página no encontrada, Nginx si tiene alguna regla configurada puede detonar una petición interna que lleve al usuario a ver un mensaje personalizado.

Tipos de Peticiones Internas

Existen dos tipos de peticiones internas que puede generar Nginx, estas son las siguientes:

Redirecciones internas
En este tipo de redirección, Nginx dirige las peticiones del cliente de forma interna, de esta forma la URL es cambiada y entonces la petición puede que cambie entre los bloques location que tengamos definidos en nuestro servidor, uno de los casos más comunes de este tipo de peticiones es cuando activamos el módulo Rewrite.

Sub-peticiones
Esto es cuando se generan peticiones adicionales que pueden complementar el contenido, un ejemplo es cuando utilizamos el módulo add_after_body que nos permite agregar contenido al resultado de la petición.


Bloque error_page

El bloque error_page es también uno de los ejemplos funcionales de cómo podemos establecer las peticiones internas, veamos este ejemplo sencillo:

nginx_peticiones.jpg


En la imagen vemos como hemos configurado nuestro servidor para que cuando recibamos una petición que genere un error, Nginx redirija directamente a los documentos que hemos preparado para que el cliente no se encuentre con una respuesta cruda.

Ahora si queremos reescribir lo anterior y derivarlo en una petición interna podemos tomar la siguiente forma de manera más elaborada:


nginx_peticiones2.jpg


Acá vemos como hemos definido que cuando obtengamos un código de error 404, lo envíe a una locación en particular, que es la carpeta errores, pero más adelante definimos que cuando tengamos una petición a la carpeta errores, vamos a hacer una petición interna, de esta forma solo Nginx puede acceder a estos contenidos, por lo que si alguien lo intenta hacer de forma externa no tendrá acceso a la misma.

Con esto finalizamos este tutorial, con lo que pudimos ver que el buen uso de las peticiones internas nos puede ayudar a mejorar la seguridad de nuestro sitio, al impedir que puedan acceder a estos recursos de forma externa.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X