Cargando



Nginx - Directivas Módulo HTTP

En este tutorial vamos a describir algunas de las diferentes directivas de este módulo y su lugar recomendado de aplicación.


may 04 2014 05:06
Profesional
may 07 2014 13:31
El módulo HTTP contiene 3 niveles de bloques para manejar su funcionamiento, dentro de cada uno de estos bloques podemos colocar algunas directivas y variables que nos ayudan a dar forma al comportamiento de nuestro servicio para una página que hayamos decidido servir desde nuestro equipo.

Es importante saber en qué lugar van estas directivas, ya que si las colocamos en algún bloque puede que no funcionen o tal vez no tenga sentido de colocarlas en el mismo.

Directiva listen

Esta directiva se utiliza en el bloque server y nos permite definir el puerto o la dirección IP por la cual Nginx va a escuchar peticiones para poder servir el contenido requerido, usualmente se utiliza el puerto 80 que es el puerto por defecto para el acceso a Internet. Podemos agregar una opción adicional llamada SSL donde le podremos definir algún certificado de seguridad. Algunos ejemplos de cómo utilizar esta directiva son:


listen 192.168.1.1:80;
listen 127.0.0.1;
listen 80 default;
listen [:::a8c9:1234]:80; # Las direcciones IPV6 deben ser colocadas entre corchetes
listen 443 ssl;



Directiva server_name

Le asigna uno o más nombres a un servidor Nginx de forma que cuando reciba una petición bajo este nombre pueda servir el contenido especificado dentro de un bloque server, esto lo logra utilizando una comparación entre el nombre recibido por la petición y el definido en el módulo, en caso que no haya ningún nombre se tomará el primer bloque server que corresponda con la información de escucha, en la siguiente imagen podemos ver varios ejemplos de esta directiva en un servidor Nginx:

nginx_direct_mod_http.jpg


Veamos el resto de las directivas:

sendfile
Esta directiva la podemos ubicar en cualquiera de los 3 niveles de configuración que tenemos y se encarga de gestionar como Nginx va a manejar la transmisión de archivos, por defecto viene apagado, sus valores pueden ser on para encendido y off para apagado, en el caso que esté apagado Nginx va a gestionar por sí mismo la transmisión de archivos, aunque esto puede generar una pérdida de rendimiento.

reset_timeout_connection
Esta directiva nos permite indicar si una vez que una petición se declara como que se perdió por haber pasado más tiempo del permitido, se borre entonces el contenido de la memoria que se utilizó para almacenar la información de la petición que acaba de morir, se puede utilizar en los 3 bloques también y sus valores son on para encendido y off para apagado.

server_name_in_redirect
Esta directiva se aplica en los caso que necesitemos hacer una re-dirección interna hacia otro servicio que nuestro Nginx tenga disponible, puede tener dos valores encendido y apagado, en caso de estar encendido se utilizara el primer nombre especificado en la directiva server_name, en caso que este apagado, Nginx utilizada el valor de la petición HTTP.


Como vemos tenemos una cantidad de directivas que podemos aplicar para poder controlar nuestro servidor con Nginx, es muy importante respetar el contexto donde pueden ser aplicadas ya que si no podemos correr el riesgo que no se tenga el comportamiento adecuado de nuestro servidor.

¿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