NGINX como proxy reverso

NGINX es un servidor web con excelente rendimiento y bajo consumo de memoria. NGINX puede usarse como proxy reverso HTTP, cómo proxy genérico TCP/UPD, como un servidor proxy de correo y como como balanceador de carga, en el día de hoy instalaremos NGINX y lo usaremos como proxy génerico TPC/UPD.

Instalar

# apt install nginx 

Iniciar

# systemctl start nginx

Detener

$ systemctl stop nginx 

Reiniciar

# systemctl restart nginx

Aranque automático

Con el siguient comando garantizamos que NGINX se iniciará automáticamente después de un reinicio del sistema operativo:

# systemctl enable nginx

Refrescar configuración

Debe ejecutar el siguiente comando luego de realizar cualquier modificación a cualquier fichero de configuración

# systemctl reload nginx

Chequeando los ficheros de configuración

A continuación mostramos donde se encuentra los ficheros de configuración para el servidor web.

/etc/nginx/
├── conf.d
├── modules-available
├── modules-enabled
├── sites-available
├── sites-enabled
└── snippets

Los 2 DIR importantes para nuestro caso son:

  • sites-available: Contiene la configuración de todos nuestros sitios web.
  • sites-enabled: Contiene solo los sitios web habilitados o disponibles.

Con está estructura es muy sencillo habilitar/deshabilitar sitios web: bastaría con crear/eliminar un enlace simbólico al DIR sites-enabled.

Configurando el NGINX como proxy reverso.

Creamos una plantilla dentro de sites-available para facilitar la creación de nuevos sitios, el contenido de la misma es:

server {
	listen 80;
	
	# Put here you domain	
	#
	server_name midominio.com;

	# Max file size useful for file uploading 
	# 
	client_max_body_size 8M;
	
	location / {	
	    # NGINX acting as reverse proxy
	    #
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    proxy_set_header X-Forwarded-Proto $scheme;
	    proxy_set_header X-Real-IP $remote_addr;
	    proxy_set_header Host $http_host;
	    #
	    # Set the backend url and port, port is optional for standard services
	    # when there is a variable as a part of proxy_pass URL a resolver is needed.
	    #
	    proxy_pass http://miurl.internal:port;
	}
}

Comentemos algunas directivas de la plantilla anterior:

  • listen: Establece la dirección IP y el puerto, o la ruta a un socket UNIX en el que el servidor aceptará solicitudes. Se pueden especificar tanto la dirección IP como el puerto, o solo la dirección o solo el puerto.
  • server_name: Establece el nombre del servidor/host virtual.
  • proxy_set_header: Permite redefinir o agregar campos al encabezado de la solicitud que se pasa al servidor proxy. El valor puede contener texto, variables y sus combinaciones.

Agregar nuevo sitio

Ejecutamos el siguiente comando

# cp -v /etc/nginx/sites-available/proxy /etc/nginx/sites-available/minuevodominio

Edite el fichero minuevodominio y ajuste las directivas server_name y proxy_pass de acuerdo a sus necesidades

Habilitar el nuevo sitio

# ln -s /etc/nginx/sites-available/minuevodominio /etc/nginx/sites-enabled/minuevodominio 

Refrescar configuraciones

# systemctl reload nginx

Deshabilitar un sitio

Ejecute el siguiente comando y luego refresque configuraciones.

# rm -v /etc/nginx/sites-enabled/minuevodominio 
Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.