Anpassungen Mailcow
Weiterleitung von HTTP auf HTTPS
Weitere Informationen: https://docs.mailcow.email/manual-guides/u_e-80_to_443/?h=http
Kontrollieren Sie die Datei /opt/mailcow-dockerized/mailcow.conf ob der Eintrag "HTTP_BIND" vorhanden ist.
Erstellen Sie die Datei /opt/mailcow-dockerized/data/conf/nginx/redirect.conf mit folgenden Inhalt:
server {
root /web;
listen 80 default_server;
listen [::]:80 default_server;
include /etc/nginx/conf.d/server_name.active;
if ( $request_uri ~* "%0A|%0D" ) { return 403; }
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
location / {
return 301 https://$host$uri$is_args$args;
}
}
Starten Sei ggf. Mailcow neu mit dem folgenden Befehlen:
docker compose down
docker compose up -d
Bitte unbedingt prüfen, ob danach noch LE Zertifikate ausgestellt werden können!
Weitere Hostnamen wie z.B. webmail verwenden und SOGo weiterleiten
In der Datei mailcow.conf die folgende Änderung vornehmen:
ADDITIONAL_SERVER_NAMES=webmail.freesoc.de
Dann die folgende Befehle eingeben:
touch data/assets/ssl/force-renew
docker compose restart acme-mailcow
Sollte die mailcow.conf geändert worden sein, muss mailcow komplett neu gestartet werden - wenn dann das Zertifikat erstellt wurde, dann kann es weitergehen.
Die Datei data/conf/nginx/webmail.conf mit den folgenden Inhalt erstellen (Pfade usw. kontrollieren):
server {
ssl_certificate /etc/ssl/mail/cert.pem;
ssl_certificate_key /etc/ssl/mail/key.pem;
index index.php index.html;
client_max_body_size 0;
root /web;
include /etc/nginx/conf.d/listen_plain.active;
include /etc/nginx/conf.d/listen_ssl.active;
server_name webmail.freesoc.de;
server_tokens off;
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
location / {
return 301 https://mail.freesoc.de/SOGo;
}
}
Weitere Infos: https://docs.mailcow.email/de/manual-guides/Nginx/u_e-nginx_webmail-site/
ACME HTTP Validation failed
Wenn die URL von extern aufrufbar ist, dennoch mit http validation failed, müssen in der mailcow.conf folgende Änderungen vorgenommen werden:
SKIP_IP_CHECK=y
SKIP_HTTP_VERIFICATION=y
Anschließend dann:
docker-compose down
service docker restart
docker-compose up -d
docker-compose logs --tail=200 -f acme-mailcow
Weitere Informationen: https://github.com/mailcow/mailcow-dockerized/issues/4463