Diferència entre revisions de la pàgina «Servidor intermediari invers»
m (→Ús del docker) |
m (→Ús del docker) |
||
| Línia 2: | Línia 2: | ||
= Ús del docker = | = Ús del docker = | ||
| − | Creació d'una xarxa local de contenidors (amb nom ''net''): | + | * Creació d'una xarxa local de contenidors (amb nom ''net''): |
docker network create ''net'' | docker network create ''net'' | ||
| − | Posada en marxa del docker pel servidor intermediari invers: | + | * Posada en marxa del docker pel servidor intermediari invers: |
- Feu una carpeta per a allotjar l'arxiu ''docker-compose.yml'' | - Feu una carpeta per a allotjar l'arxiu ''docker-compose.yml'' | ||
mkdir reverse-proxy | mkdir reverse-proxy | ||
cd reverse-proxy/ | cd reverse-proxy/ | ||
| + | |||
| + | - Verifique si teniu instal·lat el paquet ''docker-compose''. Altrament, instal·leu-ho: | ||
| + | sudo apt install docker-compose | ||
- Creeu l'arxiu ''docker-compose.yml'' i copieu-hi el contingut de [[Servidor_intermediari_invers#docker-compose.yml|docker-compose.yml]]: | - Creeu l'arxiu ''docker-compose.yml'' i copieu-hi el contingut de [[Servidor_intermediari_invers#docker-compose.yml|docker-compose.yml]]: | ||
| + | nano docker-compose.yml | ||
| + | - Posada en marxa, des de la mateixa carpeta a on hi és [[Servidor_intermediari_invers#docker-compose.yml|docker-compose.yml]]: | ||
docker-compose up -d | docker-compose up -d | ||
| − | Crida a un servidor ''nginx'' ([https://sub.things.cat/ https://sub.things.cat]): | + | * Com a exemple d'ús es crida a dos serveis que fan servir el servidor intermediari invers. Els subdominis han de configurar-se des de la pàgina de gestió de dominis (opció '''A''' per IP o '''CNAME''' amb nom de domini): |
| + | - Crida a un servidor ''nginx'' ([https://sub.things.cat/ https://sub.things.cat]): | ||
docker run --rm --name ''nginx-dummy'' -e VIRTUAL_HOST=sub.things.cat -e LETSENCRYPT_HOST=sub.things.cat -e VIRTUAL_PORT=80 --network net -d nginx:latest | docker run --rm --name ''nginx-dummy'' -e VIRTUAL_HOST=sub.things.cat -e LETSENCRYPT_HOST=sub.things.cat -e VIRTUAL_PORT=80 --network net -d nginx:latest | ||
| − | Crida a un servidor ''NextCloud'' ([https://sub0.things.cat/ https://sub0.things.cat/]): | + | - Crida a un servidor ''NextCloud'' ([https://sub0.things.cat/ https://sub0.things.cat/]): |
docker run --name ''nextcloud0'' --network net -e VIRTUAL_HOST="sub0.things.cat" -e LETSENCRYPT_HOST="sub0.things.cat" -d nextcloud:19.0.2 | docker run --name ''nextcloud0'' --network net -e VIRTUAL_HOST="sub0.things.cat" -e LETSENCRYPT_HOST="sub0.things.cat" -d nextcloud:19.0.2 | ||
| − | Accés a la consola '''bash''' del docker ''nextcloud0'': | + | - Accés a la consola '''bash''' del docker ''nextcloud0'': |
docker exec -it ''nextcloud0'' bash -l | docker exec -it ''nextcloud0'' bash -l | ||
| − | Per a obtenir la informació disponible del docker en funcionament: | + | - Per a obtenir la informació disponible del docker en funcionament: |
docker inspect ''nextcloud0'' | docker inspect ''nextcloud0'' | ||
| − | Per a obtenir la '''IP interna''' del docker en funcionament: | + | - Per a obtenir la '''IP interna''' del docker en funcionament: |
docker inspect ''nextcloud0'' | grep IPAddress | docker inspect ''nextcloud0'' | grep IPAddress | ||
Revisió del 17:37, 17 set 2021
Using Docker to Set up Nginx Reverse Proxy With Auto SSL Generation
Ús del docker
- Creació d'una xarxa local de contenidors (amb nom net):
docker network create net
- Posada en marxa del docker pel servidor intermediari invers:
- Feu una carpeta per a allotjar l'arxiu docker-compose.yml
mkdir reverse-proxy cd reverse-proxy/
- Verifique si teniu instal·lat el paquet docker-compose. Altrament, instal·leu-ho:
sudo apt install docker-compose
- Creeu l'arxiu docker-compose.yml i copieu-hi el contingut de docker-compose.yml:
nano docker-compose.yml
- Posada en marxa, des de la mateixa carpeta a on hi és docker-compose.yml:
docker-compose up -d
- Com a exemple d'ús es crida a dos serveis que fan servir el servidor intermediari invers. Els subdominis han de configurar-se des de la pàgina de gestió de dominis (opció A per IP o CNAME amb nom de domini):
- Crida a un servidor nginx (https://sub.things.cat):
docker run --rm --name nginx-dummy -e VIRTUAL_HOST=sub.things.cat -e LETSENCRYPT_HOST=sub.things.cat -e VIRTUAL_PORT=80 --network net -d nginx:latest
- Crida a un servidor NextCloud (https://sub0.things.cat/):
docker run --name nextcloud0 --network net -e VIRTUAL_HOST="sub0.things.cat" -e LETSENCRYPT_HOST="sub0.things.cat" -d nextcloud:19.0.2
- Accés a la consola bash del docker nextcloud0:
docker exec -it nextcloud0 bash -l
- Per a obtenir la informació disponible del docker en funcionament:
docker inspect nextcloud0
- Per a obtenir la IP interna del docker en funcionament:
docker inspect nextcloud0 | grep IPAddress
o
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nextcloud0
docker-compose.yml
version: "3.3"
services:
reverse-proxy:
image: jwilder/nginx-proxy:latest
container_name: "reverse-proxy"
volumes:
- "html:/usr/share/nginx/html"
- "dhparam:/etc/nginx/dhparam"
- "vhost:/etc/nginx/vhost.d"
- "certs:/etc/nginx/certs"
- "/run/docker.sock:/tmp/docker.sock:ro"
restart: "always"
networks:
- "net"
ports:
- "80:80"
- "443:443"
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion:latest
container_name: "letsencrypt-helper"
volumes:
- "html:/usr/share/nginx/html"
- "dhparam:/etc/nginx/dhparam"
- "vhost:/etc/nginx/vhost.d"
- "certs:/etc/nginx/certs"
- "/run/docker.sock:/var/run/docker.sock:ro"
environment:
NGINX_PROXY_CONTAINER: "reverse-proxy"
DEFAULT_EMAIL: "un_correu@qualsevol.cat"
restart: "always"
depends_on:
- "reverse-proxy"
networks:
- "net"
volumes:
certs:
html:
vhost:
dhparam:
networks:
net:
external: true