Files
IPV4-proxyserver-zu-IPV6-on…/INSTALL.md
2026-01-28 13:57:45 +01:00

107 lines
3.2 KiB
Markdown

# 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`
Sollte als Cronjob laufen um Änderungen vom ISPconfg Master zu übernehmen
### 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`
### 2.4 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
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
# 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**