Postfix가 CentOS에서 rspamd에 대한 연결을 거부합니다.

Postfix가 CentOS에서 rspamd에 대한 연결을 거부합니다.

이것을 기반으로 메일 서버 설정을 구성했습니다.지침(독일어), Debian 대신 CentOS 8을 기본 OS로 사용한다는 중요한 세부 정보가 포함되어 있습니다. rspamd를 내 설정에 통합할 수 없다는 점을 제외하면 모든 것이 잘 작동합니다.

다음 줄을 포함하여 rspamd에 연결하기 위해 postfix를 연결하는 경우 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

rspamd의 구성 worker-proxy.inc은 다음과 같습니다.

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

Telnet을 사용하여 rspamd에 수동으로 연결하면 다음 오류가 표시되지 않습니다.

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

따라서 rspamd는 예상 포트에서 수신 대기 중이지만 postfix가 해당 포트에 연결할 수 없습니다. 이 문제를 더 이상 디버깅하는 방법을 모르겠으며 진행 방법에 대한 조언을 주시면 감사하겠습니다. 감사해요.

답변1

다양한 구성 변경을 무작위로 시도한 후 우연히 해결책을 찾았습니다. 어떤 이유로든 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

그리고 갑자기 더 이상 오류가 발생하지 않습니다!

관련 정보