Mailcow-dockerized hinter nginx-Proxy

Hallo zusammen,
ich würde gerne etwas mit der mailcow-dockerized experimentieren. Bevor es ernst wird und BelWue keinen Mail-Service mehr anbietet.
Dazu muss ich allerdings noch folgendes Problem lösen:

Da bei uns viele Web-Services (nextcloud, mrbs, openSchulportfolio, …) in der Schule hinter einem nginx-Reverseproxy laufen, kann ich die Ports 80 und 443 nicht einfach an die mailcow durchreichen.
grafik
Mit der Konfiguration, die ich kenne leitet nginx den Port 443 (https) an mail weiter und kümmert sich auch um das Lets encrypt Zertifikat. Eine mögliche Konfiguration für die Schulkonsole könnte so aussehen:

server {
    listen 80;
    listen [::]:80;
    server_name mail.staufer-gymnasium.de;

    location / {
      return 301 https://mail.staufer-gymnasium.de$request_uri;
      }

    location ^~ /.well-known/acme-challenge {
      alias /var/www/dehydrated;
      }
    }

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name    mail.staufer-gymnasium.de;

    ssl_certificate /var/lib/dehydrated/certs/mail.staufer-gymnasium.de/fullchain.pem;
    ssl_certificate_key /var/lib/dehydrated/certs/mail.staufer-gymnasium.de/privkey.pem;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;


    location / {
       proxy_set_header Connection "";
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;

       proxy_read_timeout 600;
       proxy_connect_timeout 600;
       proxy_send_timeout 600;

       access_log /var/log/nginx/mail.access.log;
       error_log /var/log/nginx/mail.error.log;

       proxy_pass https://10.16.1.5;
    }
}

In diesem Beispiel wird eine http://mail.staufer-gymnasium.de - Anfrage auf https://mail.staufer-gymnasium.de umgeleitet. Die https://mail.staufer-gymnasium.de - Anfrage wird dann an die mailcow weitergeleitet und mit dem Let’s encrypt-Zertifikat ausgestattet. Aber genau das macht die Mailcow eigentlich selbst.

Ich möchte also Anfragen auf Port 80 und 443 an mail.staufer-gymnasium.de völlig unbearbeitet an die mailcow weiterreichen. Kann mir jemand einen Tipp geben, wie ich das mit nginx mache?

Vielen Dank schon mal für’s Mitdenken.
Gruß,
Mathias

Hallo Mathias,

error_log /var/log/nginx/mail.error.log; proxy_pass https://10.16.1.5; } } |

du machst den Mailserver, der in Grün steht, aus dem Internet zugänglich?

LG

Holger

Hallo Holger,

Nein, bisher gibt’s noch nichts. Ich dachte nur, dass meine Frage leichter zu verstehen ist, wenn ich eine IP-Adresse nehm’, die den Leuten bekannt vorkommt.
Gruß,
Mathias

Hallo Mathias,

ich würde an deiner stelle ine extra vps mieten, aif der nur Mailcow läuft. Hat einfach den Vorteil, dass du dich um nichts kümmern musst und die Emails - als wahrscheinlich wicbtigstes Kommunikationsmittel - immer funktionieren, auch, wenn mal irgendwelche anderen Sachen den Schulserver in die Knie bringen.

VG,
Dorian

Hallo Dorian,
das stimmt natürlich. Ich wollte die Mailcow einfach mal unter einer anderen Domain ausprobieren.
Gruß,
Mathias