bsmeding.nginx_docker
Ayudante de proxy inverso Nginx
Servidor proxy inverso NGINX
El rol está probado en Ubuntu con Docker instalado a través de mi rol bsmeding.docker en distribución de Linux.
Solía ser el frontend al desplegar contenedores Docker en plataformas. La imagen por defecto es de Linuxserver: https://docs.linuxserver.io/images/docker-nginx
En este momento, hay un conjunto limitado de opciones de configuración disponibles. Se agregarán más adelante.
Configuración de proxy inverso
Para cada contenedor (o otro servicio/servidor) puedes agregar una configuración de proxy con la lista de variables nginx__proxy_confs_subdomain
. Si reenvías a contenedores, conéctalos a la misma red de Docker para facilitar la resolución de nombres y la seguridad.
Este ejemplo reenviará las solicitudes entrantes para dash.ejemplo.com
en el puerto 80 al contenedor llamado dashboard
en el puerto 9090, puerto 80 (http)
nginx__proxy_confs_subdomain:
- server_name: dash.ejemplo.com
listen: 80
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Archivos del sitio
Si deseas copiar un directorio de un sitio web, colócalo en /files/nginx/sites/<directorio_del_sitio>
o /files/nginx/<nombre_del_inventario>/sites/<directorio_del_sitio>
cuando despliegas múltiples servidores con diferentes sitios.
Archivos de configuración del sitio
Si deseas que archivos de configuración específicos del sitio sean copiados, colócalos en el directorio de tu playbook /files/nginx/site-confs/
, deben estar en el archivo de configuración del sitio de nginx <site.conf>
.
O en /files/nginx/<nombre_del_inventario>/site-confs/
para separar las configuraciones de los hosts.
https / ssl / Certificado
Si necesitas certificados, colócalos en el directorio de tu playbook bajo files/nginx/certs/
, nómbralos como url_del_sitio.crt
y url_del_sitio.key
.
Cuando el archivo de clave esté asegurado por una frase de contraseña, agrega esto a tu variable de subdominio para que pueda ser asegurada por ansible-vault.
nginx__proxy_confs_subdomain:
- server_name: dash.ejemplo.com
listen: 80
listen_https: 443 # necesita habilitar https
cert_key_passphrase: 'sbsta261da' # ejemplo de frase de contraseña del archivo cert.key si está configurado. De lo contrario, no configures esta variable
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Manage and run the Nginx container from Linuxserver(default).
ansible-galaxy install bsmeding.nginx_docker