Commit 3add76e7 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Actualiza config de despliegue, añade restricción

Adapta CI a nuevas plantillas y restringe lugar de despliegue en entorno
dev.

Realiza otros cambios menores.
parent 6646441f
Loading
Loading
Loading
Loading

.gitignore

deleted100644 → 0
+0 −0

Empty file deleted.

+3 −2
Original line number Diff line number Diff line
@@ -12,10 +12,11 @@ stages:
  - deploy

variables:
  STACK: gateway
  PROJECT_PARENT_NAME: gateway

.deploy:
  variables:
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
    STACK: ${PROJECT_PARENT_NAME}
    SERVICES_TO_CHECK: ${PROJECT_PARENT_NAME}_${CI_PROJECT_NAME}
  environment:
    url: https://${PUBLIC_HOSTNAME}
+2 −7
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ Nginx service configured to act as a proxy to Traefik service. Add caching and b

Este servicio sirve de proxy inverso al frente de *Traefik*, para aportar funciones de las que este último carece.


## Funciones

* Sustituye a Traefik (que actúa a nivel interno) como punto de entrada a los servicios web. Recibe peticiones para cualquier dominio, y las propaga para que sean resueltas por Traefik hacia los contenedores apropiados.
@@ -17,7 +16,6 @@ Este servicio sirve de proxy inverso al frente de *Traefik*, para aportar funcio

* Protege frente al acceso malicioso, por parte de bots o desde orígenes sospechosos. Toma la información de [mariusv/nginx-badbot-blocker](https://github.com/mariusv/nginx-badbot-blocker) para ello.


## Variables

Se pueden definir algunos valores variables al servicio web.
@@ -26,7 +24,6 @@ Se pueden definir algunos valores variables al servicio web.
|:-:|:-:|:-:|
| PERSISTENT_PATH | Ruta interna al contenedor sobre la que se montará el volumen `persistent-vol`. | `/var/nginx/persistent` |


## Volúmenes

Se definen diferentes volúmenes para lograr persistencia del servicio, al mismo tiempo que se mantienen separados ficheros de distinta índole.
@@ -39,19 +36,17 @@ Almacena aquellos ficheros que no son secretos y que interesa conservar entre re

Conserva los ficheros de caché generados durante el funcionamiento del servidor web. Para limpiar la caché, es posible reiniciar el servicio tras borrar este volumen, y se volverá a regenerar de nuevo sin inconvenientes.


## Configuraciones

Para poder contemplar varios casos de uso (según entorno de despliegue, por ejemplo) se definen configs de Docker, estáticas para el servicio pero que permiten mayor flexibilidad.

### blockips

Contiene un listado de IP que deben bloquearse siempre. Procede originalmente de https://github.com/mariusv/nginx-badbot-blocker/blob/master/blockips.conf, pero es posible añadir más IP a la lista.
Contiene un listado de IP que deben bloquearse siempre. Procede originalmente de <https://github.com/mariusv/nginx-badbot-blocker/blob/master/blockips.conf>, pero es posible añadir más IP a la lista.

### blacklist

Define aquellos agentes (para identificar bots), dominios y URL que deben ser bloqueados. Procede originalmente de https://github.com/mariusv/nginx-badbot-blocker/blob/master/blacklist.conf, pero ha sido ampliado y es posible editarlo. Por ejemplo, para bloquear bots de rastreo o para conceder acceso a un agente concreto.

Define aquellos agentes (para identificar bots), dominios y URL que deben ser bloqueados. Procede originalmente de <https://github.com/mariusv/nginx-badbot-blocker/blob/master/blacklist.conf>, pero ha sido ampliado y es posible editarlo. Por ejemplo, para bloquear bots de rastreo o para conceder acceso a un agente concreto.

## Secretos

+7 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  nginx-proxy-https:
    deploy:
      placement:
        constraints:
          - node.labels.${PLACEMENT_CONSTRAINTS_NODE_LABELS_NAME:-gateway} == ${PLACEMENT_CONSTRAINTS_NODE_LABELS_VALUE:-true}

configs:
  blacklist-config:
    name: ${BLACKLIST_CONFIG_NAME}
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ services:
networks:
  traefik-net:
    name: ${TRAEFIK_NET_NAME:-traefik-net}
    driver: ${TRAEFIK_NET_DRIVER:-overlay}
    external: true

volumes: