Betrieb hinter einem vorhandenen Reverse Proxy
Die Adresse, auf der Docker Port 3000 veroeffentlicht, ist ueber LERNBAR_ADRESSE in .env einstellbar; Vorgabe bleibt 127.0.0.1. Noetig, wenn der Reverse Proxy - etwa ein Nginx Proxy Manager - auf einem anderen Rechner laeuft. Docker-Ports laufen an ufw vorbei. lernbar-portsperre setzt deshalb in DOCKER-USER eine Regel, die Port 3000 nur fuer den Proxy oeffnet, und laesst sich beliebig oft ausfuehren (in einem Debian-13-Container geprueft). Dazu ein systemd-Dienst, der sie nach Docker setzt. Abschnitt 6b der Betriebsanleitung beschreibt Einrichtung und Proxy-Host. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3009c53b5c
commit
ead4cdf195
@@ -0,0 +1,16 @@
|
||||
# Öffnet Port 3000 der Lern-Bar nur für den Reverse Proxy.
|
||||
# Installation siehe docs/BETRIEB-PROXMOX.md, Abschnitt 6b.
|
||||
# Die Adresse des Proxys in der Zeile ExecStart anpassen.
|
||||
|
||||
[Unit]
|
||||
Description=Lern-Bar: Port 3000 nur für den Reverse Proxy
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/sbin/lernbar-portsperre 10.10.13.5
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
# Port 3000 der Lern-Bar nur für den Reverse Proxy öffnen.
|
||||
# Docker-Ports laufen an ufw vorbei, deshalb die Kette DOCKER-USER, die Docker
|
||||
# selbst vor seinen eigenen Regeln auswertet und nie überschreibt.
|
||||
set -eu
|
||||
PROXY="${1:?Aufruf: lernbar-portsperre <Adresse des Reverse Proxy>}"
|
||||
REGEL="-p tcp -m conntrack --ctorigdstport 3000 --ctdir ORIGINAL ! -s $PROXY -j DROP"
|
||||
iptables -N DOCKER-USER 2>/dev/null || true
|
||||
# shellcheck disable=SC2086
|
||||
iptables -C DOCKER-USER $REGEL 2>/dev/null || iptables -I DOCKER-USER $REGEL
|
||||
Reference in New Issue
Block a user