Redirect HTTP to HTTPS

Since February the 28th 2017 mailcow does come with port 80 and 443 enabled.

Do not use the config below for reverse proxy setups, please see our reverse proxy guide for this, which includes a redirect from HTTP to HTTPS.

Open mailcow.conf and set HTTP_BIND=0.0.0.0 - if not already set.

Open data/conf/nginx/site.conf and add the new server config at the top of that file:

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  return 301 https://$host$uri$is_args$args;
}

In case you changed the HTTP_BIND parameter, recreate the container:

docker-compose up -d

Otherwise restart Nginx:

docker-compose restart nginx-mailcow