Ein Reverse Proxy nimmt HTTPS auf Port 443 entgegen und leitet Anfragen an interne Anwendungen weiter. Caddy oder Nginx Proxy Manager können diese Aufgabe übernehmen. Verwaltungsoberflächen des Proxys bleiben intern.
Einrichten
- Reservieren Sie die LAN-Adresse des Proxys.
- Richten Sie DNS auf Ihre öffentliche Adresse und gegebenenfalls DDNS ein.
- Leiten Sie TCP 443 an den Proxy weiter.
- Ordnen Sie jedem Hostnamen den richtigen internen Dienst zu.
Zertifikate
HTTP-01 benötigt normalerweise Erreichbarkeit auf Port 80. DNS-01 prüft einen DNS-Eintrag und eignet sich auch für private Hosts. Verwenden Sie einen passend eingeschränkten API-Token; ein DDNS-Token ist nicht automatisch ein DNS-API-Token. Ein Wildcard-Zertifikat deckt nur eine zusätzliche Ebene ab, nicht die Zonenspitze.
Anwendung prüfen
Konfigurieren Sie vertrauenswürdige Proxys, WebSockets und Uploadgrenzen. Testen Sie die automatische Erneuerung einschließlich des erneuten Ladens des Zertifikats.
Konfigurationsbeispiele
Passen Sie Platzhalter, Schnittstellen und Ports an. Beispiele können unterschiedliche Versionen zeigen; führen Sie unvereinbare Alternativen nicht gemeinsam aus. Veröffentlichen Sie niemals echte Tokens oder private Schlüssel.
ha.yourname.uk.app {
reverse_proxy 192.168.1.20:8123
}
films.yourname.uk.app {
reverse_proxy 192.168.1.30:8096
}
cloud.yourname.uk.app {
reverse_proxy 192.168.1.40:11000
}sudo systemctl reload caddy
journalctl -u caddy -f # watch the certificates being issued# as root on the proxy machine (sudo -i)
apt install unzip python3 curl
curl https://get.acme.sh | sh -s email=you@example.com
curl -fsSLO https://uk.app/downloads/ukapp-tools.zip && unzip ukapp-tools.zip
install -m 755 ukapp.py /usr/local/bin/ukapp
cp dns_ukapp.sh ~/.acme.sh/dnsapi/
install -m 600 /dev/null /root/.ukapp-api-token
nano /root/.ukapp-api-token # paste the API token, saveexport UKAPP_TOKEN="$(cat /root/.ukapp-api-token)"
~/.acme.sh/acme.sh --issue --server letsencrypt --dns dns_ukapp --dnssleep 300 \
-d yourname.uk.app -d '*.yourname.uk.app'mkdir -p /etc/caddy/certs
~/.acme.sh/acme.sh --install-cert -d yourname.uk.app --ecc \
--fullchain-file /etc/caddy/certs/fullchain.pem \
--key-file /etc/caddy/certs/key.pem \
--reloadcmd "chown -R caddy:caddy /etc/caddy/certs && systemctl reload caddy"(wildcard) {
tls /etc/caddy/certs/fullchain.pem /etc/caddy/certs/key.pem
}
ha.yourname.uk.app {
import wildcard
reverse_proxy 192.168.1.20:8123
}cat > /usr/local/sbin/acme-renew <<'EOF'
#!/bin/sh
UKAPP_TOKEN="$(cat /root/.ukapp-api-token)"
export UKAPP_TOKEN
exec /root/.acme.sh/acme.sh --cron --home /root/.acme.sh
EOF
chmod 700 /usr/local/sbin/acme-renew
~/.acme.sh/acme.sh --uninstall-cronjob
echo '17 3 * * * root /usr/local/sbin/acme-renew >/var/log/acme-renew.log 2>&1' > /etc/cron.d/acme-renewAbschließende Prüfung
Testen Sie über Mobilfunk außerhalb Ihres WLANs. Prüfen Sie DNS, den vorgesehenen Port, ein gültiges HTTPS-Zertifikat und die Anmeldung getrennt. Halten Sie Verwaltungsoberflächen privat, installieren Sie Updates und testen Sie die Wiederherstellung eines Backups. Kontrollieren Sie IPv6- und IPv4-Firewallregeln. Ein erfolgreicher Porttest ist kein Sicherheitsaudit.
Diese lokalisierte Ausgabe fasst die ursprüngliche Anleitung zusammen. Befehle behalten ihre Originalsyntax. Prüfen Sie für Ihre Version die verlinkte Herstellerdokumentation.