Diferència entre revisions de la pàgina «Accesibilidad externa a los servicios (Proxy inverso, WAF, etc...)»

De Wiket
Salta a la navegació Salta a la cerca
Línia 6: Línia 6:
 
  FROM jwilder/nginx-proxy
 
  FROM jwilder/nginx-proxy
 
   
 
   
# Instalamos todos los paquetes necesarios para el WAF y su correcto funcionamiento
 
 
  RUN apt-get update && apt-get install nano git bison build-essential ca-certificates curl dh-autoreconf doxygen \
 
  RUN apt-get update && apt-get install nano git bison build-essential ca-certificates curl dh-autoreconf doxygen \
 
   flex gawk git iputils-ping libcurl4-gnutls-dev libexpat1-dev libgeoip-dev liblmdb-dev \
 
   flex gawk git iputils-ping libcurl4-gnutls-dev libexpat1-dev libgeoip-dev liblmdb-dev \

Revisió del 08:46, 1 abr 2022

Dockerfile

Escogemos la imagen donde haremos todas nuestra configuración, en nuestro caso será la siguiente:

 FROM jwilder/nginx-proxy
 
 RUN apt-get update && apt-get install nano git bison build-essential ca-certificates curl dh-autoreconf doxygen \
   flex gawk git iputils-ping libcurl4-gnutls-dev libexpat1-dev libgeoip-dev liblmdb-dev \
   libpcre3-dev libpcre++-dev libssl-dev libtool libxml2 libxml2-dev libyajl-dev locales \
   lua5.3-dev pkg-config wget zlib1g-dev libgd-dev libxslt-dev -y
 
 WORKDIR /app/

Docker-compose

version: '3.3'

 services: 

  nginx_proxy:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nginx_proxy
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - letsencrypt-certs:/etc/nginx/certs
      - letsencrypt-vhost-d:/etc/nginx/vhost.d
      - letsencrypt-html:/usr/share/nginx/html
      - conf-nginx:/etc/nginx
      - pers-app:/app
      - pers-opt:/opt
      - pers-usr-local:/usr/local
    networks:
      - web

  letsencrypt-proxy:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt-proxy
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - letsencrypt-certs:/etc/nginx/certs
      - letsencrypt-vhost-d:/etc/nginx/vhost.d
      - letsencrypt-html:/usr/share/nginx/html
    environment:
       DEFAULT_EMAIL: [email protected]
       NGINX_PROXY_CONTAINER: nginx_proxy
    networks:
      - web

  wordpress:
    container_name: wordpress
    image: wordpress:5.9.2
    restart: unless-stopped
    expose:
      - 443
    secrets:
      - db_user
      - db_password
      - db_name
    environment:
      WORDPRESS_DB_HOST: mysql_db
      WORDPRESS_DB_USER_FILE: /run/secrets/db_user
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
      WORDPRESS_DB_NAME_FILE: /run/secrets/db_name
      VIRTUAL_HOST: ietigrupo2cloudhb.tk, www.ietigrupo2cloudhb.tk
      LETSENCRYPT_HOST: ietigrupo2cloudhb.tk, www.ietigrupo2cloudhb.tk
      LETSENCRIPT_EMAIL: [email protected]
    volumes:
      - wordpress:/var/www/html
    depends_on:
      - mysql_db
    networks:
      - web

  mysql_db:
    container_name: mysql
    image: mysql:5.7.17
    restart: unless-stopped
    secrets:
      - db_user
      - db_password
      - db_name
      - db_password_root
    environment:
      MYSQL_DATABASE_FILE: /run/secrets/db_name
      MYSQL_USER_FILE: /run/secrets/db_user
      MYSQL_PASSWORD_FILE: /run/secrets/db_password
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_password_root
    volumes:
      - mysql_db:/var/lib/mysql
    networks:
      - web

secrets:
  db_user:
    file: creds/db_user.txt
  db_password:
    file: creds/db_password.txt
  db_name:
    file: creds/db_name.txt
  db_password_root:
    file: creds/db_password_root.txt

volumes:
  wordpress:
  mysql_db:
  letsencrypt-certs:
  letsencrypt-vhost-d:
  letsencrypt-html:
  conf-nginx:
  pers-app:
  pers-opt:
  pers-usr-local:

networks:
  web:
    external: true


Volver a IETI Cloud Grupo 2