Roundcube & Dovecot внутри контейнеров Docker - PullRequest
0 голосов
/ 31 января 2019

У меня есть стек 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, работающий в качестве прокси для всех моих веб-приложений.Для roundcube у меня есть

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:80/?_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>

Так что с голубяткой хорошо связались, но ...?Не знаю, в чем проблема.

1 Ответ

0 голосов
/ 10 июня 2019

Ваша проблема в том, что по умолчанию для круглого куба требуются сертификаты TLS или SSL.Либо скопируйте сертификат с почтового сервера, используйте letsencrypt для проверки вашего сертификата, либо отключите одноранговую проверку в конфигурации круглого куба.

...