Nach einer Mail von Willi Platzer als Grund für eine Umleitung:
<blockquote> Um den Zugang zu dem OwnCloud-Server sicherer zu gestalten habe ich Pound als Reverse Proxy installiert. Das böse Internet kommt nur noch bis zum IPFire. Nur Pound greift auf den OwnCloud-Server zu. Der Zugang zu andere lokalen Server (moodle usw.) kann so auch freigegeben werden. Sie benötigen einen DNS-Eintrag ( A-Record) der Ihren Web-Namen cloud.„schule“.de zu einer IP-Adresse auflöst. Im folgenden meine Schritte zur Installation. </blockquote>
Ein zweiter Grund ist folgender: Eine externe Domäne möchte unter derselben IP-Adresse von außen verschieden angesprochen werden, so dass verschiedene Webserver antworten, z.b: schule.de/cloud und schule.de/horde oder cloud.schule.de und horde.schule.de. Man kann IPFire+pound so einrichten, dass Anfragen von außen jeweils auf die richtigen Server gelangen.
Wir nehmen an, dass der Cloud-Server sinnvollerweise mit der IP 172.16.17.1 im ORANGE Netz (der DMZ) liegt.
Anleitung (wieder nach Willi und Steffen):
[root@ipfire ~]# pakfire install pound
/etc/ssl/certs/
ablegen. server ~ # cd /etc/linuxmuster-dehydrated/certs/schule.de/ server /etc/linuxmuster-dehydrated/certs/schule.de # cat privkey.pem > server.pem server /etc/linuxmuster-dehydrated/certs/schule.de # cat fullchain.pem >> server.pem server /etc/linuxmuster-dehydrated/certs/schule.de # scp -P 222 server.pem ipfire:/etc/ssl/certs/
# Set run_pound to 1 to start pound or 0 to disable it. run_pound=1 # Specify additional pound options here (see manpage). pound_options=""
1.1.1.1
durch die eigene externe IP. Ersetze 172.16.17.1
durch die eigene interne Adresse des Cloudservers. ## Logging: (goes to syslog by default) ## 0 no logging ## 1 normal ## 2 extended ## 3 Apache-style (common log format) LogLevel 1 ## check backend every X secs: Alive 60 # poundctl control socket Control "/var/run/poundctl.socket" # Cloudserver ListenHTTPS HeadRemove "X-Forwarded-Proto" AddHeader "X-Forwarded-Proto: https" Address 1.1.1.1 Port 443 # ist notwendig damit standard WebDAV aus geführt wird. es kann bei MS-Diensten auch xhhtp 3 notwendig sein # Android und Lightning funktionieren mit 2 xHTTP 2 # wurde in 2 erzeugt Cert "/etc/ssl/certs/server.pem" Service "cloud" # die vollständige Adresse cloud."schule".de des Cloudservers! HeadRequire "Host: cloud.schule.de.*" BackEnd Address 172.16.17.1 Port 443 # Damit https to https funktioniert! HTTPS End End End
/etc/init.d/pound start #stop restart
Quelle Rot auswählen (oder besser GeoIP mit der Auswahl der guten Länder ) Ziel Firewall ROT (IP) auswählen (nicht die Zieladresse oder ein Standardnetzwerk eingeben) Protokoll TCP Quellport leer lassen Zielport 443 Regelposition 1 Regel aktivieren Logging aktivieren
Quelle Firewall (GRÜN) auswählen Ziel Zieladresse Cloud-IP (172.16.17.1) auswählen Regelposition 1 Regel aktivieren Logging aktivieren
Hier noch meine Konfiguration als Beispiel:
Service "gitlab + co" HeadRequire "Host: simple.schule.de.*" BackEnd Address 172.16.17.1 Port 80 #HTTPS End End
Dieser Service leitet HTTPS Anfragen auf HTTP Anfragen auf dem 172.16.17.1 um, wenn die Subdomäne „simple.schule.de“ heißt.
Service "horde + co" HeadRequire "Host: server.schule.de.*" BackEnd Address 10.16.1.1 Port 443 HTTPS End End
Dieser Service leitet HTTPS Anfragen auf HTTPS Anfragen auf dem server um (z.B für Horde)
Service "cloud,bogy,feedback,phpmyadmin" # die vollständige Adresse cloud."schule".de des Cloudservers! HeadRequire "Host: (cloud.)schule.de.*" BackEnd Address 172.16.17.2 Port 443 # Damit https to https funktioniert! HTTPS End End
Dieser Service leitet HTTPS Anfragen auf HTTPS Anfragen auf dem Cloud-SErver (in ORANGE) um, wenn die Subdomäne cloud.schule.de heißt, oder auch, wenn die reine Domäne schule.de genommen wurde.
Service "everything else" Redirect "https://cloud.schule.de/cloud" End
Der letzte Service leitet alle übrigen Anfragen auf den cloud-server um.