Direkt zum Hauptinhalt

HTTPS hinzufügen

Beschreibung:

Beschreibung:

Damit PsuhPush und Kamera funktioniert muss HTTPS benutzt werden.

Implementierung:

Implementierung:alles stoppen

docker-compose down

docker file anpassen

EinenIn caddyder Teildocker-compose Datei nginx Container hinzufügen und:

den
nano webserver noch folgende Verzeichnisse hinzufügen:

/root/storageboxx/docker-compose.yml

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:nginx:
    image: caddy:latestnginx:stable
    container_name: caddy_proxynginx-proxy
    volumes:
      - ./nginx-proxy.conf:/etc/nginx/nginx.conf:ro
      - ./certs/selfsigned.crt:/etc/ssl/certs/selfsigned.crt:ro
      - ./certs/private.key:/etc/ssl/private/private.key:ro
    ports:
      - "80:80"
      - "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
    restart: unless-stopped

Nun die Caddy config Verzeichnisse und das Certcert VerzeichnissVerzeichnis erstellen

mkdir -p /root/storageboxx/caddy_config
mkdir -p /root/storageboxx/caddy_data
mkdir -p /root/storageboxx/caddy_certscerts

Nun die Caddyfilengninx conf erstellen

nano /root/storageboxx/Caddyfilenginx-proxy.conf

Inhalt

events {
  #worker_connections Globale1024;
Einstellungen}

http_porthttp 80{
  https_portserver {
    listen 80;
    return 301 https://$host$request_uri;
  }

  server {
    listen 443 auto_httpsssl;
    offssl_certificate #/etc/ssl/certs/selfsigned.crt;
    Automatischesssl_certificate_key HTTPS/etc/ssl/private/private.key;

    deaktivierenlocation / {
      proxy_pass http://web:80;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      client_max_body_size 100M;
    }
  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 -newkey rsa:4096 -x509 -nodessha256 -days 365000 -newkeynodes rsa:2048-out /root/storageboxx/certs/selfsigned.crt -keyout /root/storageboxx/caddy_certs/selfsigned.certs/private.key
-out

Die Fragen benatworten.

Nun in der config von Storageboxx https ändern

nano /root/storageboxx/caddy_certs/selfsigned.crthtml/lib/CORE-Config.php 
-subj "/CN=192.168.178.187"

Danach ins Verzeichnis Caddy Verzeichnis kopieren. Die CA bleibt im Certs Verzeichnisalt

cp<?php
/root/storageboxx/caddy_certs/selfsigned.key/ (A) HOST
define("SITE_NAME", "Storage Boxx");
define("HOST_BASE", "http://192.168.178.187/"); /root/storageboxx/caddy_data/selfsigned.key/ cpCHANGED BY INSTALLER  #um diese zeile geht es !!!!!!!
define("HOST_NAME", parse_url(HOST_BASE, PHP_URL_HOST));
define("HOST_BASE_PATH", parse_url(HOST_BASE, PHP_URL_PATH));
define("HOST_ASSETS", HOST_BASE . "assets/");

/root/storageboxx/caddy_certs/selfsigned.crt/ /root/storageboxx/caddy_data/selfsigned.crt(B) API ENDPOINT
define("HOST_API", "api/");

Fertig.
Neu

<?php
// (A) HOST
define("SITE_NAME", "Storage Boxx");
define("HOST_BASE", "https://192.168.178.187/"); // CHANGED BY INSTALLER
define("HOST_NAME", parse_url(HOST_BASE, PHP_URL_HOST));
define("HOST_BASE_PATH", parse_url(HOST_BASE, PHP_URL_PATH));
define("HOST_ASSETS", HOST_BASE . "assets/");

// (B) API ENDPOINT
define("HOST_API", "api/");
....

Den container starten

docker-compose up -d

Nun die Seite laden Zertifikat akzeptieren und einloggen.
Wenn dieser Fehler kommt.

Auswahl_167.png

Benachrichtigungen zulassen im Browser

Auswahl_166.png

 

Push funktioniert

Auswahl_168.png

Fertig.