Für Rüdiger
This commit is contained in:
parent
241eafb9cd
commit
5defc3d129
1 changed files with 107 additions and 0 deletions
107
Caddy als reverseproxy einrichten.md
Normal file
107
Caddy als reverseproxy einrichten.md
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Caddy als reverseproxy einrichten
|
||||||
|
|
||||||
|
# Netzwerk anlegen
|
||||||
|
|
||||||
|
```shellscript
|
||||||
|
docker network create \
|
||||||
|
--driver bridge \
|
||||||
|
--ipv6 \
|
||||||
|
--subnet 172.31.0.0/16 \
|
||||||
|
--subnet fd42:0815:4711:1::/64 \
|
||||||
|
reverseproxy_netz
|
||||||
|
```
|
||||||
|
|
||||||
|
# Verzeichnisse für Caddy und seine Configs anlegen
|
||||||
|
|
||||||
|
```shellscript
|
||||||
|
mkdir -p /srv/docker/caddy/config
|
||||||
|
mkdir -p /srv/docker/caddy/data
|
||||||
|
```
|
||||||
|
|
||||||
|
# docker-compose.yml erstellen
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: caddy:latest
|
||||||
|
container_name: caddy
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
- "443:443/udp"
|
||||||
|
volumes:
|
||||||
|
- ./caddy:/etc/caddy/
|
||||||
|
- ./site:/srv
|
||||||
|
- ./caddy_data:/data
|
||||||
|
- ./caddy_config:/config
|
||||||
|
networks:
|
||||||
|
- reverseproxy_netz
|
||||||
|
|
||||||
|
service1:
|
||||||
|
image: dein/service1-image
|
||||||
|
container_name: service1
|
||||||
|
networks:
|
||||||
|
- reverseproxy_netz
|
||||||
|
|
||||||
|
service2:
|
||||||
|
image: dein/service2-image
|
||||||
|
container_name: service2
|
||||||
|
networks:
|
||||||
|
- reverseproxy_netz
|
||||||
|
|
||||||
|
networks:
|
||||||
|
reverseproxy_netz:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
# Caddy Config erstellen
|
||||||
|
|
||||||
|
mit deinem Lieblingseditor legst du die Datei `Caddyfile`im config-Verzeichnis an:
|
||||||
|
|
||||||
|
```shellscript
|
||||||
|
webserver3.fobix.benbex.de {
|
||||||
|
reverse_proxy meinwebserver1:80
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
caddy neu starten: `docker compose stop ; docker compose start; docker compse logs -f`
|
||||||
|
|
||||||
|
jetzt wird man beobachten können, wie das Zertifikat erstellt wird.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Wenn es einen Container gibt, der "meinwebserver1" heißt, und der auf Port 80 hört (*expose*) dann wird dieser nach kurzer Zeit unter https://webserver3.fobix.benbex.de erreichbar sein.
|
||||||
|
|
||||||
|
## Server mit Basic-Auth schützen
|
||||||
|
|
||||||
|
du kannst einfach
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
basicauth {
|
||||||
|
test $2a$10$oE4MsIokdJzUpS3p.oHPzuncTzAjISdFhGsd3RKRI3fudScqAW342
|
||||||
|
```
|
||||||
|
|
||||||
|
vor oder nach reverse\_proxy einfügen.
|
||||||
|
|
||||||
|
Der Passwort-Hash ist leicht mit den it-tools (bcrypt) zu erzeugen.
|
||||||
|
|
||||||
|
Danach ist der jeweilige Server geschützt.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## IT-Tools
|
||||||
|
|
||||||
|
corentinth/it-tools
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue