ich habe bei IPV64 ein Benutzerkonto erstellt, eine Domain registriert und diese nach Anleitung IPv64.net • DynDNS2 HowTo & Tutorial - IPv4 & IPv6 in meine FritzBox eingetragen.
Dann taucht in meinem IPV64 Profil unter meiner Domain, meine IPv4 und v6 Adresse auf.
Danach habe ich die Ports 80 und 443 für meinen RaspberryPi in der Fritz!Box freigegeben.
Aber wenn ich jetzt in Nginx Proxy Manager ein SSL Zertifikat erstellen will geht das nicht.
Dazu klicke ich im Hauptfenster auf Certificates, add Let’y Encrypt via DNS, als Domain Name gebe ich *.DOMAIN.TLD an und wähle DNSmulti aus.
Dann gebe ich
dns_multi_provider=ipv64
PV64_API_KEY=DEIN_API_KEY (mit meinen Key aus meinem Profil) ein.
Bekomme dann im Docker log immer einen Fehler, dass „go“ nicht installiert ist.
Wichtig ist image: wird durch
build:
context: .
dockerfile: Dockerfile
ersetzt
anschließend folgender Befehl
docker compose down && docker compose build && docker compose up -d
und dann kannst du anschließend dns-multi nutzen
ansonsten solltest du Probleme haben
stelle deine dockercompose yml bereit und dann schreibe ich sie dir so wie es sein muss
ggf. auch Pfad wo diese liegt etc.
Hier meine Docker Compose:
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
container_name: nginx-proxy-manager
ports:
# These ports are in format :
- 80:80 # Public HTTP Port
- 443:443 # Public HTTPS Port
- 81:81 # Admin Web Port
# Add any other Stream port you want to expose
# - ‚21:21‘ # FTP
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: ‚true‘
environment:
TZ:Europe/Berlin
volumes:
- /opt/nginx/data:/data
- /opt/nginx/letsencrypt:/etc/letsencrypt
Alles klar
dann vermute ich mal das deine compose datei auch irgendwo da liegt ?
also docker-compose.yml liegt unter /opt/nginx/
/opt/nginx/docker-compose.yml
---
services:
app:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
container_name: nginx-proxy-manager
healthcheck:
test: ["CMD", "/bin/check-health"]
interval: 10s
timeout: 3s
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
environment:
TZ: Europe/Berlin
volumes:
- /opt/nginx/data:/data
- /opt/nginx/letsencrypt:/etc/letsencrypt
/opt/nginx/Dockerfile
FROM jc21/nginx-proxy-manager:latest
RUN apt-get update \
&& apt-get install -y --no-install-recommends wget curl python3-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN wget https://go.dev/dl/go1.25.4.linux-arm64.tar.gz
RUN tar -xzf go1.25.4.linux-arm64.tar.gz -C /usr/local && rm -f go1.25.4.linux-arm64.tar.gz
ENV PATH="/usr/local/go/bin:${PATH}"
dann einfach folgende Reihenfolge an Befehlen
docker pull jc21/nginx-proxy-manager:latest
docker compose down (wenn der container noch läuft)
docker compose build
docker compose up -d
Jetzt bekomme ich für drei angelegten Services immer einen „Diese Verbindung ist nicht privat“ Fehler und wenn ich dann auf ignorieren klicke, einen DNS-Rebind-Schutz-Fehler der FritzBox.
oh :-X hoffe du konntest den Fehler Lösen weil leider nicht mehr weis wo der Fehler war
wenn ja was war da falsch ?
hatte es eigentlich von meiner kopiert
machst du Port Weiterleitungen ?
Du müsstest eine URL von der Fritzbox bekommen haben
mit dieser kannst du ein Cname setzen
bedeutet pi.myfritz.net (o.ä.) leitet auf 443 und 80 auf den Pi weiter
dann musst du bei IPv64 ein Cname auf diese Domain setzen
anderes würde es meines Erachtens nicht funktionieren.
Und noch eine viel wichtigere Frage: Wo sehe ich die Laufzeit des SSL-Zertifikates?
Möchte ja nur zur Erneuerung die Ports 80 und 443 immer frei geben. Muss mir dann dafür aber eine Erinnerung setzen.
Hast Du da Tipps oder Erfahrungen die Du mit uns teilen kannst @Nasglas ?
Ich frage deshalb, weil die Seite service.meine.domain.de ja im Internet für jeden erreichbar ist.
Was ist da eine sichere Lösung?
Ein Zugnagsprofil in Nginx Proxy Manager anlegen, der den Zugriff aus dem Internet abweist?
Oder nach der Erstellung von *.meine.domain.de die Ports 80 und 443 bis zur Zertifikatserneuerung schließen?