HTTPS hinzufügen
Beschreibung:
Damit Psuh und Kamera funktioniert muss HTTPS benutzt werden.
Implementierung:
docker file anpassen
Einen caddy Teil hinzufügen und den webserver noch folgende Verzeichnisse hinzufügen:
Unsere neue Docker file
version: '3.8'
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: storageboxx_web
ports:
- "80:80"
volumes:
- ./html:/var/www/html
- ./caddy_data:/data # Caddy benötigt diesen Ordner für seine Konfiguration
- ./caddy_config:/config # Caddy benötigt diesen Ordner für seine Konfiguration
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html
depends_on:
- db
db:
image: mariadb:latest
container_name: storageboxx_db
restart: always
environment:
MYSQL_DATABASE: storageboxx
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- ./db_data:/var/lib/mysql
caddy:
image: caddy:latest
container_name: caddy_proxy
ports:
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy_data:/data
- ./caddy_config:/config
environment:
- CADDY_TLS_CERTIFICATE=/etc/caddy/selfsigned.crt
- CADDY_TLS_PRIVATE_KEY=/etc/caddy/selfsigned.key
depends_on:
- web
Nun die Caddy config Verzeichnisse und das Cert Verzeichniss erstellen
mkdir -p /root/storageboxx/caddy_config
mkdir -p /root/storageboxx/caddy_data
mkdir -p /root/storageboxx/caddy_certs
Nun die Caddyfile erstellen
nano /root/storageboxx/Caddyfile
Inhalt
{
# Globale Einstellungen
http_port 80
https_port 443
auto_https off # Automatisches HTTPS deaktivieren
}
localhost {
tls /data/selfsigned.crt /data/selfsigned.key
reverse_proxy web:80
}
192.168.178.187 {
tls /data/selfsigned.crt /data/selfsigned.key
reverse_proxy web:80
}
Nun das Zertifikat erstellen
openssl req -x509 -nodes -days 365000 -newkey rsa:2048 -keyout /root/storageboxx/caddy_certs/selfsigned.key -out /root/storageboxx/caddy_certs/selfsigned.crt -subj "/CN=192.168.178.187"
Danach ins Verzeichnis Caddy Verzeichnis kopieren. Die CA bleibt im Certs Verzeichnis
cp /root/storageboxx/caddy_certs/selfsigned.key /root/storageboxx/caddy_data/selfsigned.key
cp /root/storageboxx/caddy_certs/selfsigned.crt /root/storageboxx/caddy_data/selfsigned.crt
Fertig.
Den container starten