[Dovecot] Dovecot replication not redirecting if server is down
Patrick Westenberg
pw at wk-serv.de
Sat Nov 9 22:11:33 EET 2013
Hi everyone,
I'm running a test environment with a proxy in front of working
replication between two backends but redirecting in case of a
backend failure is not working.
Nov 09 21:03:59 imap-login: Error: proxy(mail at example.net):
connect(10.5.29.211, 143) failed: Connection refused (after 0 secs,
local=10.5.29.201:38333)
I appreciate any advice.
Regards
Patrick
Proxy:
# 2.2.7: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.2
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
default_process_limit = 150
director_mail_servers = 10.5.29.211 10.5.29.212
director_servers = 10.5.29.201
director_user_expire = 5 mins
disable_plaintext_auth = no
lmtp_proxy = yes
log_path = /var/log/dovecot.log
mail_plugins = notify replication
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
passdb {
args = proxy=y nopassword=y
driver = static
}
protocols = imap pop3 lmtp sieve
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
unix_listener auth-userdb {
user = dovecot
}
}
service director {
fifo_listener login/proxy-notify {
mode = 0666
}
inet_listener {
address = 10.5.29.201
port = 9090
}
unix_listener director-userdb {
mode = 0600
}
unix_listener login/director {
mode = 0666
}
}
service imap-login {
executable = imap-login director
}
service lmtp {
inet_listener lmtp {
address = 10.5.29.201
port = 24
}
}
service managesieve-login {
executable = managesieve-login director
inet_listener sieve {
port = 4190
}
}
service pop3-login {
executable = pop3-login director
}
service replicator {
unix_listener replicator-doveadm {
mode = 0600
}
}
ssl = no
protocol lmtp {
auth_socket_path = director-userdb
}
Backend 1:
# 2.2.7: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.2
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
dotlock_use_excl = no
doveadm_password = secret
doveadm_port = 12345
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u
hostname = mb01.example.net
listen = 10.5.29.211
log_path = /var/log/dovecot.log
mail_debug = yes
mail_fsync = always
mail_gid = vmail
mail_home = /var/mail/%d/%n
mail_location = maildir:~/Maildir
mail_plugins = quota notify replication
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spamverdacht {
auto = subscribe
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
mail_replica = tcp:10.5.29.212
quota = dict:User quota::file:%h/Maildir/dovecot-quota
quota_rule2 = INBOX.Trash:ignore
quota_warning = storage=90%% quota-warning 90 %u
quota_warning2 = storage=75%% quota-warning 75 %u
sieve = ~/.dovecot.sieve
sieve_after = /usr/local/etc/dovecot/sieve/sieve_after.sieve
sieve_default = /usr/local/etc/dovecot/sieve/default.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at example.net
protocols = imap pop3 lmtp sieve
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
unix_listener auth-userdb {
mode = 0666
user = vmail
}
}
service doveadm {
inet_listener {
port = 12345
}
}
service lmtp {
inet_listener lmtp {
address = 10.5.29.211
port = 24
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service quota-warning {
executable = script /usr/local/etc/dovecot/quota_warning.sh
unix_listener quota-warning {
user = vmail
}
user = root
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0600
}
}
ssl = no
submission_host = mf01.example.net
userdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = quota notify replication sieve
}
protocol imap {
mail_max_userip_connections = 30
mail_plugins = quota notify replication imap_quota
}
Backend 2:
# 2.2.7: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.2
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
dotlock_use_excl = no
doveadm_password = secret
doveadm_port = 12345
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u
hostname = mb02.example.net
listen = 10.5.29.212
log_path = /var/log/dovecot.log
mail_debug = yes
mail_fsync = always
mail_gid = vmail
mail_home = /var/mail/%d/%n
mail_location = maildir:~/Maildir
mail_plugins = quota notify replication
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spamverdacht {
auto = subscribe
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
mail_replica = tcp:10.5.29.211
quota = dict:User quota::file:%h/Maildir/dovecot-quota
quota_rule2 = INBOX.Trash:ignore
quota_warning = storage=90%% quota-warning 90 %u
quota_warning2 = storage=75%% quota-warning 75 %u
sieve = ~/.dovecot.sieve
sieve_after = /usr/local/etc/dovecot/sieve/sieve_after.sieve
sieve_default = /usr/local/etc/dovecot/sieve/default.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at example.net
protocols = imap pop3 lmtp sieve
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
unix_listener auth-userdb {
mode = 0666
user = vmail
}
}
service doveadm {
inet_listener {
port = 12345
}
}
service lmtp {
inet_listener lmtp {
address = 10.5.29.212
port = 24
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service quota-warning {
executable = script /usr/local/etc/dovecot/quota_warning.sh
unix_listener quota-warning {
user = vmail
}
user = root
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0600
user = vmail
}
}
ssl = no
submission_host = mf01.example.net
userdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = quota notify replication sieve
}
protocol imap {
mail_max_userip_connections = 30
mail_plugins = quota notify replication imap_quota
}
More information about the dovecot
mailing list