# Proxyserver: Edge-Proxy & Backend Dokumentation **Stand:** Januar 2026 **Fokus:** Routed IPv6 Setup & Internes IPv4-VPN/Bridge für isolierte Backends (Root-Server / LXC) ## Konzept-Hinweis Dieses Setup ist für Root-Server optimiert, auf denen Proxyserver und die Backends (VMs/LXCs) über interne Bridges (z. B. `vmbr1`) kommunizieren. Dies umgeht MTU-Probleme, wie sie bei WireGuard im mobilen Bereich auftreten. --- ## 1. Netzwerk-Architektur (IPv4-VPN) Für IPv4-only Backends ohne öffentliche IP wird ein isoliertes Segment genutzt: - **Proxyserver (Gateway):** `10.8.1.x` - **Clients (Backends):** `10.8.1.y` - **Interface:** `vmbr1` (Bridge) oder Tinc-Tunnel Proxyserver übernimmt das NAT (Masquerading), damit Clients Updates ziehen können, und dient als Standard-Gateway für die Backends. --- ## 2. Proxyserver Setup (Der Proxy-Dienst) Installiere Nginx und ACME.sh auf Proxyserver. Die Synchronisation erfolgt über ein zentrales Bash-Skript. ACME Zertifikatserneuerung wie gewohnt über crontab ### 2.1 Konfigurationsdatei Pfad: `/usr/local/bin/sync-ispconfig-proxy.conf` ### 2.2 Server-Liste Pfad: `/usr/local/bin/proxy_based_server.conf` ### 2.3 Das Sync-Skript Pfad: `/usr/local/bin/sync-ispconfig-proxy.sh` Sollte als Cronjob laufen um Änderungen vom ISPconfg Master zu übernehmen ### 2.4 Das Checkup Script Pfad: `/usr/local/bin/proxy-inventory.sh Zeigt welche configs übernommn wurden. Führt keine Änderungen durch. ### 2.5 Das Cleanup Script Pfad: `/usr/local/bin/sync-ispconfig-cleanup.sh ISPcconfig löscht unabhängig vom Proxyserver auf den clients die apache vhost oder ngingx conf Dateien Auf dem Proxyserver müssen die nginx .conf Dateien manuell gelöscht werden. Das Script mit Parameter -e führt dies durch. Ohne Parameter läuft es im dry-run. **Derzeit in der Testphase - deshalb zur Sicherheit manuell mit dry-run ausführen.** Verwaiste nginx .conf Dateien beinträchtigen das System nicht. ## 3. Client Setup (vServer / Apache) Die Backends müssen den Proxy als vertrauenswürdig einstufen. ### 3.1 Remote-IP Konfiguration Pfad: `/etc/apache2/conf-available/remoteip.conf` ```bash a2enmod remoteip proxy_http rewrite headers a2enconf remoteip systemctl restart apache2 ``` --- ## 4. ISPConfig Integration (Apache Direktiven Beispiel Gitea) Eintragen unter **Webseite → Optionen → Apache Direktiven** für den vServer: ```apache # Gitea / Backend Proxy RequestHeader set X-Forwarded-Proto "https" ProxyPreserveHost On Order allow,deny Allow from all # Lokale Weiterleitung an den Dienst-Port (z. B. Gitea) ProxyPass / http://[::1]:3000/ ProxyPassReverse / http://[::1]:3000/ # WebSocket Upgrade Support RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://[::1]:3000/$1 [P,L] ``` **Achtung:** Deaktiviere SSL und Let's Encrypt innerhalb von ISPConfig für diese Webseite, da Proxyserver die Zertifikatsverwaltung übernimmt. Deaktivere Zertifikatserneuerung auf den Clients Werden doppelte Domains eingetragen um auf weiteren Servern Subdomains zu nutzen, muss 1. der Weiterleitungspfad /urldummy/ auf den Servern bei denen die Hauptdomin nungenutzt ist lauten 2. auf dem Server bei dem die Hauptdomain genutzt wird darf der Weiterleitungspfad nicht /urldummy/ lauten **nur so wird sichergestellt, dass das sync-ispconfig-proxy.sh script die Zertifikatserstellung für diese Dummy Hauptdomains auslässt**