Roundcube & Dovecot внутри контейнеров Docker
У меня есть стек Docker для моего почтового сервера.
мой docker-compose.xml
содержит
version: '3.7'
services:
postfix:
...
dovecot:
....
ports:
- "110:110"
- "995:995"
- "143:143"
- "993:993"
networks:
- mail
....
roundcube:
image: roundcube/roundcubemail
container_name: roundcube
environment:
- ROUNDCUBEMAIL_DEFAULT_HOST=dovecot
# - ROUNDCUBEMAIL_DEFAULT_PORT=993
networks:
- proxy
- mail
У меня также есть контейнер Nginx, работающий в качестве прокси для всех моих веб-приложений. Для круглого куба у меня есть
set $roundcube_upstream http://roundcube;
location /roundcube/ {
rewrite ^/roundcube/(.*) /$1 break;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_pass $roundcube_upstream;
}
С этой конфигурацией все работает. Я могу перейти на https://www.mydomain.be/rouncube/ и я могу войти. Порт по умолчанию - 143. Итак, roundcube si подключается к dovecot с помощью imap.
Теперь я хотел бы использовать порт 993 и ssl / tls.
Я попытался декомпозировать ROUNDCUBEMAIL_DEFAULT_PORT=993, но также с помощью ssl://dovecot или tls://dovecot или ssl://mail.mydomain.be, ... но ничего не работает.
Когда я нажимаю на кнопку подключения, через некоторое время я получаю страницу ошибки nginx. В моих логах прокси я вижу
2019/01/31 09:29:25 [error] 460#460: *82483 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 194.197.210.75, server: www.mydomain.be, request: "POST /roundcube/?_task=login HTTP/1.1", upstream: "http://172.18.0.9:80/?_task=login", host: "www.mydomain.be", referrer: "https://www.mydomain.be/roundcube/"
И я не понимаю, откуда http://172.18.0.9/?_task=login?
С клиентом Thunderbird я могу подключиться к этому порту.
В чем проблема?
редактировать
С помощью
- ROUNDCUBEMAIL_DEFAULT_HOST=ssl://dovecot
- ROUNDCUBEMAIL_DEFAULT_PORT=993
Теперь у меня есть ответ: ошибка подключения к серверу хранения.
В моих круглых бревнах:
errors: <1db522a3> IMAP Error: Login failed for me@mydomain.be from 172.18.0.8(X-Real-IP: ...,X-Forwarded-For: ...). Could not connect to ssl://dovecot:993: Unknown reason in /var/www/html/program/lib/Roundcube/rcube_imap.php on line 196 (POST /?_task=login&_action=login)172.18.0.8 - - [31/Jan/2019:13:57:37 +0100] "POST /?_task=login HTTP/1.1" 200 3089 "https://www.mydomain.be/roundcube/?_task=login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"
и в логах dovecot
2019-01-31T13:57:38.002653+01:00 536ff3507263 dovecot: auth: Debug: auth client connected (pid=35),
2019-01-31T13:57:38.010096+01:00 536ff3507263 dovecot: imap-login: Disconnected (no auth attempts in 0 secs): user=<>, rip=192.168.240.3, lip=192.168.240.2, TLS, session=<nVssksCAT7LAqPAD>
Так что с голубятней хорошо на связи, но...? Не знаю в чем проблема.
0 ответов
Ваша проблема в том, что по умолчанию roundcube требует проверки сертификатов TLS или SSL. Скопируйте сертификат с почтового сервера, используйте letsencrypt для проверки сертификата или отключите одноранговую проверку в конфигурации roundcube.