hoall.nginx-proxy

Rol nginx-proxy

Este rol instala nginx como un servidor proxy. La configuración es solo para uso de https. Así que asegúrate de configurar tu certificado ssl. El dhparam será reemplazado por una nueva versión generada. La generación ocurre durante la instalación. El rol también establece algunos valores predeterminados útiles para servidores proxy.

El nivel de seguridad es moderno en términos de la definición de la Fundación Mozilla (consulta su generador para más información: https://mozilla.github.io/server-side-tls/ssl-config-generator/). La configuración debe ser adecuada para la mayoría de los sistemas. Yo generé las plantillas usando Ubuntu 16.04. HSTS está habilitado. La configuración recibe una calificación A+ en ssllabs.com.

El sitio web predeterminado está mapeado a /. Creé y utilizo el rol para abstraer y asegurar la conexión a mi servidor tomcat.

Si tienes mejoras, crea un pull request.

Requisitos

Un certificado ssl y openssl (para el dhparam). Si estás buscando un buen rol, te sugiero que mires geerlingguy.certbot.

Variables del Rol

NOTA: las variables que deben ser sobrescritas están escritas en MAYÚSCULAS.

Nombre Valor Predeterminado Descripción
NP_SERVER_NAME NONE 'Una cadena que contiene los nombres a los que el servidor (y la ubicación) deben escuchar. Ej. "example.com www.example.com"'
NP_SSL_CERTIFICATE NONE 'La ruta a tu certificado ssl (fullchain.pem). Ej. /etc/letsencrypt/live/example.de/fullchain.pem'
NP_SSL_CERTIFICATE_KEY NONE 'La ruta a la clave privada de tu certificado ssl (privkey.pem). Ej. /etc/letsencrypt/live/example.de/privkey.pem'
NP_PROXY_PASS NONE 'La ruta a la ubicación. Ej. "http://127.0.0.1:8080/example/"'
NP_REWRITE NONE 'Regla de reescritura para el sitio web. Ej. "^/example(.*)$ $1 last"'
np_worker_processes {{ ansible_processor_count }} 'El número de procesos de trabajo que nginx debe usar. El valor predeterminado es uno por núcleo, determinado por la configuración de ansible.'
np_worker_connections 1024 'El número de conexiones para cada worker_process (incluyendo servidores backend). Ten en cuenta que un navegador abre más de una conexión para aumentar la velocidad.'
np_keep_alive_timeout 15 'Timeout para una conexión de cliente inactiva en segundos.'
np_client_max_body_size 10m 'Establece el tamaño máximo permitido del cuerpo de la solicitud del cliente, especificado en el campo de encabezado "Content-Length".'
np_client_body_buffer_size 10k 'Establece el tamaño del buffer para leer el cuerpo de la solicitud del cliente.'
np_proxy_connect_timeout 10 'Define un tiempo de espera para establecer una conexión con un servidor proxy. Cabe destacar que este tiempo de espera normalmente no puede exceder los 75 segundos.'
np_proxy_send_timeout 10 'Establece un tiempo de espera (en segundos) para transmitir una solicitud al servidor proxy.'
np_proxy_read_timeout 10 'Define un tiempo de espera (en segundos) para leer una respuesta del servidor proxy.'
np_proxy_buffers "32 8k" 'Establece el tamaño del buffer utilizado para leer la primera parte de la respuesta recibida del servidor proxy. Esta parte generalmente contiene un pequeño encabezado de respuesta. Por defecto, el tamaño del buffer es igual a una página de memoria. Esto es 4K u 8K, dependiendo de la plataforma. Sin embargo, se puede hacer más pequeño.'

Nota: partes de esta documentación son de la documentación oficial de nginx (https://nginx.org/en/docs/). Las fuentes y la documentación se distribuyen bajo la licencia BSD de 2 cláusulas.

Modifica las variables de acuerdo a tus necesidades.

Dependencias

Ejemplo de Playbook

- hosts: servers
  roles:
     - { role: hoall.nginx-proxy, NP_SERVER_NAME: "example.com www.example.com", NP_SSL_CERTIFICATE: /etc/letsencrypt/live/fullchain.pem, NP_SSL_CERTIFICATE_KEY: /etc/letsencrypt/live/privkey.pem }

Licencia

BSD

Información del Autor

Felix Paetow fhmpaetow@fsfe.org

Acerca del proyecto

Installation, configuration and hardening of a nginx proxy with one website.

Instalar
ansible-galaxy install hoall.nginx-proxy
Licencia
bsd-2-clause
Descargas
118
Propietario