grmg2010
Goto Top

Mailcow mit Docker und Traefik V2

Moin,

ich arbeite mich gerade ein wenig in das Thema Docker/docker-compose ein. Als Einstieg habe ich mir die Tutorials von goneuland.de genutzt. (Installation von Docker & docker-compose, Traefik V2, Nextcloud, wordpress) Nun wollte ich testweise auf dem Server Mailcow installieren. Mailcow. Die die Installation funktioniert soweit problemlos. Alle angesprochenen Änderungen habe ich angepasst, damit es auf meine Domain passt.

Möchte ich die Konfigurationsoberfläche aufrufen (mail.example.de), bekomme ich den Fehler "ERR_SSL_PROTOCOL_ERROR". Soweit ich es richtig verstanden habe, habe ich Probleme mit einem gültigen Zertifikat. Schaue ich in die zuständige Datei, ist die zugeordnete Domain nicht hinterlegt. Ich bin mir jetzt nicht sicher, ob das korrekt ist, da Mailcow die Zertifikate ja durchgereicht bekommen soll.

Ich habe bereits bei google nach diesem Problem gesucht, leider keine Lösung gefunden, die funktioniert. Hier hatte ich einen vielversprechenden Ansatz gefunden, der leider nicht zum gewünschten Ergebnis geführt hat. Auch auf anderen Webseiten habe ich Beschreibungen gefunden, Mailcow mit Traefik zu betreiben. Im Vergleich sind alle konfigurationen soweit ähnlich, funktionieren bei mir leider nicht wie erwartet. Ebenso wie die offizielle Doku vom Entwickler selber mailcow:dockerized documentation

Hat jemand spontan eine Idee bzw. das Problem selber gehabt?

Gruß

Content-ID: 1217396869

Url: https://administrator.de/contentid/1217396869

Ausgedruckt am: 06.10.2024 um 06:10 Uhr

tagol01
tagol01 02.09.2021 um 07:46:27 Uhr
Goto Top
Hallo

Zitat von @grmg2010:
Hat jemand spontan eine Idee bzw. das Problem selber gehabt?

Du musst "einfach" die Zertifikate von nginx tauschen, dann sollte es gehen.

Welches Zertifikate / CN gibt den der Server zurück?

openssl s_client -connect mail.example.de:https
grmg2010
grmg2010 02.09.2021 um 13:42:15 Uhr
Goto Top
Das ich die Zertifikate von Traefik "exportieren" muss ist mir bewusst, dafür gibt es ja in der docker-compose.override.yml einen eigenen Abschnitt.
 certdumper:
        image: humenius/traefik-certs-dumper
        container_name: traefik_certdumper
        restart: unless-stopped
        network_mode: none
        command: --restart-containers mailcowdockerized_postfix-mailcow_1,mailcowdockerized_dovecot-mailcow_1
        volumes:
          # mount the folder which contains Traefik's `acme.json' file 
          #   in this case Traefik is started from its own docker-compose in ../traefik
          - /opt/containers/traefik/data:/traefik:ro
          # mount mailcow's SSL folder 
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - ./data/assets/ssl:/output:rw
        environment:
          # only change this, if you're using another domain for mailcow's web frontend compared to the standard config 
          - DOMAIN=${MAILCOW_HOSTNAME}

networks:
  proxy:
    external: true 
Ich vermute allerdings, dass dieser nicht sauber funktioniert. Ich hätte erwartet, dass Traefik das Zertifikat mit allen anderen zusammen speichert, ich kann die Domain aber nicht in der entsprechenden Datei finden. Mein verdacht wäre jetzt, dass Traefik keine Zertifikate abholt, dass diese "exportiert" werden können.

Führe ich den genannten Befehl aus, erhalte ich folgende Meldung. Für mich sieht das im ersten Moment aus, als ob kein Zertifikat vorhanden wäre, nur das bei Setup generierte.
140464215090496:error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:../ssl/record/rec_layer_s3.c:1543:SSL alert number 80
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 106 bytes and written 729 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---