Commit fbe954f0 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Externaliza generación DH, elimina imagen propia

Delega la generación de Diffie-Hellman, haciendo innecesaria la imagen
Docker que se mantenía. Actualiza configuración y documentación al
respecto.
parent 635d3e65
Loading
Loading
Loading
Loading

.dockerignore

deleted100644 → 0
+0 −3
Original line number Diff line number Diff line
*
!nginx/**/*
!scripts/**/*
+1 −14
Original line number Diff line number Diff line
include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/packaging.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment-custom-image.yml'

stages:
  - pre-package
  - package
  - post-package
  - deploy

variables:
  PROJECT_PARENT_NAME: gateway

.deploy:
  variables:
    STACK: ${PROJECT_PARENT_NAME}
    SERVICES_TO_CHECK: ${PROJECT_PARENT_NAME}_${CI_PROJECT_NAME}
    STACK: gateway
  environment:
    url: https://${PUBLIC_HOSTNAME}

Dockerfile

deleted100644 → 0
+0 −21
Original line number Diff line number Diff line
ARG NGINX_IMAGE_TAG=1.17-alpine

FROM nginx:${NGINX_IMAGE_TAG}

LABEL maintainer="info@redmic.es"

COPY nginx /etc/nginx
COPY scripts/entrypoint.sh /entrypoint.sh

ARG OPENSSL_VERSION=1.1.1g-r0
RUN apk add --no-cache \
	openssl=${OPENSSL_VERSION}

EXPOSE 443

HEALTHCHECK --interval=30s --timeout=15s --start-period=1m --retries=10 \
	CMD wget --spider -q http://localhost/nginx-health \
		|| (count=$(ps aux | grep openssl | wc -l); [ ${count} -gt 1 ]) \
		|| exit 1

CMD ["sh", "-c", "/entrypoint.sh"]
+2 −10
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ Este servicio sirve de proxy inverso al frente de *Traefik*, para aportar funcio

* 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.

* Sirve a través de HTTPS todos los servicios, que funcionan sobre HTTP localmente. Carga los certificados con la ayuda de [certificates-manager](https://gitlab.com/redmic-project/gateway/certificates-manager) y genera sus propios parámetros Diffie-Hellman cuando no los tiene disponibles (normalmente solo la primera vez, hay que tener paciencia porque es un proceso pesado).
* Sirve a través de HTTPS todos los servicios, que funcionan sobre HTTP localmente. Carga los certificados y los parámetros Diffie-Hellman con la ayuda de [certificates-manager](https://gitlab.com/redmic-project/gateway/certificates-manager).

* Comprime las respuestas a las peticiones con gzip, disminuyendo el tráfico de red.

@@ -16,21 +16,13 @@ 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.

| Variable | Descripción | Valor por defecto |
|:-:|:-:|:-:|
| 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.

### persistent-vol

Almacena aquellos ficheros que no son secretos y que interesa conservar entre reinicios del servicio. Por ejemplo, los parámetros Diffie-Hellman.
Almacena aquellos ficheros que no son secretos y que interesa conservar entre reinicios del servicio, como los parámetros Diffie-Hellman. Se trata de un volumen externo al servicio.

### cache-vol

+0 −4
Original line number Diff line number Diff line
NGINX_IMAGE_TAG=1.17-alpine
OPENSSL_VERSION=1.1.1g-r0

PERSISTENT_PATH=/var/nginx/persistent
HTTPS_INTERNAL_PORT=443
HTTPS_PORT=443
PORT_MODE=host
Loading