I’m new to mailcow. I’ve been testing it for a few days, and all was going great. However, my system suddenly stopped allowing access to the admin page (“Configuration” from the “System” menu, /admin) with an nginx 404 error. If I go into the nginx-mailcow docker container and curl https://127.0.0.1/admin/ it seems to work OK (but I get a 302 redirect, is that expected).

This problem is driving me mad. I originally installed mailcow on alpine, but have now changed to debian 12 because alpine is not on the officially supported list. The install of the OS and mailcow are completely clean, and it’s just a non-customised docker installation. The only things I’ve changed are the MTU and the IP bindings. The rest of the UI seems to work absolutely fine, as does ACME, SOGo, and actually sending email etc.

Any suggestions, I really don’t want to give up on mailcow because it looks great.

  • As a wild guess, I tried typing this URL instead:

    https://<my hostname>/admin.php

    That URL works, and displays the admin functionality. I guess there might be an error in the nginx configuration or an error in the menu link on the UI.

    OK, so this is weird. If I visit the admin URL using Chrome or TorBrowser or basically everything except Firefox on my main desktop, the admin URL works fine. I guess there’s something cached badly, somewhere, or an extension getting in the way (I’ve got uBlock Origin turned off for this site). Anyway, the problem appears to be at my end and not mailcow.

Your test is wrong, “/admin/” is not pointing where you expect, stop using trailing “/”.

Have something to say?

Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

/ # curl -kv https://127.0.0.1/admin

  • Trying 127.0.0.1:443…
  • ALPN: curl offers h2,http/1.1
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • TLSv1.3 (IN), TLS handshake, Server hello (2):
  • TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
  • TLSv1.3 (IN), TLS handshake, Certificate (11):
  • TLSv1.3 (IN), TLS handshake, CERT verify (15):
  • TLSv1.3 (IN), TLS handshake, Finished (20):
  • TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
  • TLSv1.3 (OUT), TLS handshake, Finished (20):
  • SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS
  • ALPN: server accepted h2
  • Server certificate:
  • subject: CN=mail.europhiles.uk
  • start date: Nov 10 07:35:11 2024 GMT
  • expire date: Feb 8 07:35:10 2025 GMT
  • issuer: C=US; O=Let’s Encrypt; CN=R10
  • SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
  • Certificate level 0: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
  • Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
  • TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • Connected to 127.0.0.1 (127.0.0.1) port 443
  • using HTTP/2
  • [HTTP/2] [1] OPENED stream for https://127.0.0.1/admin
  • [HTTP/2] [1] [:method: GET]
  • [HTTP/2] [1] [:scheme: https]
  • [HTTP/2] [1] [:authority: 127.0.0.1]
  • [HTTP/2] [1] [:path: /admin]
  • [HTTP/2] [1] [user-agent: curl/8.10.1]
  • [HTTP/2] [1] [accept: /]

GET /admin HTTP/2
Host: 127.0.0.1
User-Agent: curl/8.10.1
Accept: /

  • Request completely sent off
    < HTTP/2 302
    < server: nginx
    < date: Sun, 10 Nov 2024 09:26:55 GMT
    < content-type: text/html
    < set-cookie: PHPSESSID=fcf7949148f1446e7087f799596c3de8; path=/; secure; HttpOnly
    < expires: Thu, 19 Nov 1981 08:52:00 GMT
    < cache-control: no-store, no-cache, must-revalidate
    < pragma: no-cache
    < location: /
    < strict-transport-security: max-age=15768000;
    < x-content-type-options: nosniff
    < x-xss-protection: 1; mode=block
    < x-robots-tag: none
    < x-download-options: noopen
    < x-frame-options: SAMEORIGIN
    < x-permitted-cross-domain-policies: none
    < referrer-policy: strict-origin
    <
  • Connection #0 to host 127.0.0.1 left intact

As a wild guess, I tried typing this URL instead:

https://<my hostname>/admin.php

That URL works, and displays the admin functionality. I guess there might be an error in the nginx configuration or an error in the menu link on the UI.

OK, so this is weird. If I visit the admin URL using Chrome or TorBrowser or basically everything except Firefox on my main desktop, the admin URL works fine. I guess there’s something cached badly, somewhere, or an extension getting in the way (I’ve got uBlock Origin turned off for this site). Anyway, the problem appears to be at my end and not mailcow.

Works as usual with my mailcow…

No one is typing