Вопрос или проблема
Я настроил решение mailcow-dockerized на своем сервере и хотел изменить домен моего почтового сервера с mail.example.ml на mail.example.tk, но когда я это сделал, мой браузер жаловался на неправильный сертификат, когда я посетил http://mail.example.tk.
Кроме того, приложение администрирования работало за nginx, настроенным как обратный прокси, с следующей обновленной конфигурацией vhost:
server {
listen 80;
server_name mail.thundermail.tk;
location /.well-known {
proxy_pass http://127.0.0.1:8080/.well-known ;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100m;
}
location / {
rewrite ^(.*) https://$server_name$1 permanent;
}
}
server {
listen 443 ssl;
server_name mail.thundermail.tk;
ssl_certificate /opt/docker-mailcow/data/assets/ssl/cert.pem;
ssl_certificate_key /opt/docker-mailcow/data/assets/ssl/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100m;
}
}
Имейте в виду, что решение mailcow:dockerized генерирует сертификаты в пути opt/docker-mailcow/data/assets/ssl
.
У вас есть идеи, как сгенерировать новые сертификаты?
Следуйте этим шагам:
1 cd ^путь_где_установлен_mailcow_dockerized^
2 В mailcow.conf
измените строку, начинающуюся с MAILCOW_HOSTNAME
, на
MAILCOW_HOSTNAME=mail.example.tk
3 Выполните: docker-compose down && docker-compose up -d
4 Перезапустите nginx. (В Debian или дистрибутивах Linux на базе Debian это можно сделать с помощью команды sudo service nginx restart
)
Ответ или решение
Чтобы обновить сертификаты и изменить домен в установленной системе Mailcow с использованием Nginx в качестве обратного прокси, выполните следующие шаги:
-
Перейдите в директорию установки Mailcow:
Откройте терминал и выполните команду:cd ^путь_к_установке_mailcow_dockerized^
-
Измените конфигурационный файл
mailcow.conf
:
Откройте файлmailcow.conf
в текстовом редакторе и измените строку, начинающуюся сMAILCOW_HOSTNAME
, на следующую:MAILCOW_HOSTNAME=mail.example.tk
-
Перезапустите Mailcow:
После изменения конфигурации выполните следующие команды для остановки и перезапуска Mailcow:docker-compose down && docker-compose up -d
-
Сгенерируйте новые сертификаты:
Mailcow автоматически генерирует SSL-сертификаты при запуске. Если вы хотите использовать Let’s Encrypt для создания новых сертификатов на ваш новый домен, убедитесь, что у вас корректно настроены DNS-записи для вашего нового домена. Затем выполните команду:docker-compose exec mailcowletsencrypt bash /usr/local/bin/certbot renew
-
Обновите конфигурацию Nginx:
Убедитесь, что конфигурация вашего Nginx совпадает с новым доменом. Пример конфигурации, как вы указали, должен выглядеть следующим образом:server { listen 80; server_name mail.example.tk; location /.well-known { proxy_pass http://127.0.0.1:8080/.well-known; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 100m; } location / { rewrite ^(.*) https://$server_name$1 permanent; } } server { listen 443 ssl; server_name mail.example.tk; ssl_certificate /opt/docker-mailcow/data/assets/ssl/cert.pem; ssl_certificate_key /opt/docker-mailcow/data/assets/ssl/key.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 100m; } }
-
Перезапустите Nginx:
После внесения изменений в конфигурацию Nginx выполните команду для перезапуска Nginx:sudo service nginx restart
-
Проверьте работоспособность:
Запустите браузер и перейдите наhttps://mail.example.tk
, чтобы убедиться, что сертификаты настроены правильно и что соединение установлено безопасно.
Эти шаги должны помочь вам изменить домен и обновить SSL-сертификаты для вашей установки Mailcow. Если у вас возникли вопросы или проблемы, не стесняйтесь обращаться за помощью.