I’m running mailcow behind an nginx reverse proxy.
Everything works as expected.
mail.example.com proxy passes to mailcow ui and sogo.
I want to “obfuscate” what’s behind door number one, i.e. I want to return an empty page whenever someone accesses the base url (mail.example.com) in the browser.
So I added this to my nginx.conf:
  server {
    listen         443 ssl;
    server_name    mail.example.com;
    ssl_certificate ...
    ssl_certificate_key ...
    location = / {
      return 200;
    }
    location / { 
      ...
      proxy_pass http://172.17.0.1:8080/;
    }   
  }
So that whenever someone accesses just the base url, nginx will return 200 with an empty body.
This works, as long as I am logged into the admin UI.
If you’re logged in, all the follow up urls are mail.example.com/debug or mail.example.com/user etc.
However, if you’re logged out, the login page of the admin panel doesn’t have a sub-path in the url, it’s just the base url.
Is there any way to have the login page on a dedicated landing page like mail.example.com/login, for instance?