Назад | Перейти на главную страницу

Postfix отказывается подключаться к rspamd на CentOS

Я настроил почтовый сервер на основе этого руководство (Немецкий), с, возможно, важной деталью, что я использую CentOS 8 в качестве базовой ОС вместо Debian. Все работает нормально, за исключением того, что мне не удается интегрировать rspamd в свою установку.

Если я подключу postfix для подключения к rspamd, включив следующие строки в main.cf:

smtpd_milters = inet:localhost:11332
non_smtpd_milters = inet:localhost:11332
milter_protocol = 6
milter_mail_macros =  i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_default_action = accept

и отправьте электронное письмо, я вижу следующую ошибку от postfix:

postfix/submission/smtpd[125562]: fatal: host/service localhost/11332 not found: Device or resource busy

В worker-proxy.inc конфигурация для rspamd выглядит как

bind_socket = "localhost:11332";
milter = yes;
timeout = 120s;
upstream "local" {
    default = yes;
    self_scan = yes;
}

Если я вручную подключаюсь к rspamd с помощью telnet, я не вижу этой ошибки:

# telnet localhost 11332
Trying ::1...
Connected to localhost.
Escape character is '^]'.

Итак, rspamd прослушивает ожидаемый порт, но postfix не может подключиться к нему, я не знаю, как отлаживать это дальше, и был бы признателен за любые советы о том, как действовать дальше. Спасибо.

Попробовав наугад различные изменения конфигурации, я наткнулся на решение. По какой-то причине постфикс не может разрешить localhost. Я изменил следующие записи в /etc/postfix/main.cf:

 smtpd_milters = inet:localhost:11332
 non_smtpd_milters = inet:localhost:11332

к

 smtpd_milters = inet:127.0.0.1:11332
 non_smtpd_milters = inet:127.0.0.1:11332

и вдруг ошибок больше нет!