<smtp-listener>
Когда перед узлом стоит балансировщик, соединение приходит от него, и настоящий адрес клиента теряется. Строка включает приём заголовка PROXY: балансировщик ставит его первым, а узел достаёт оттуда адрес и порт клиента и дальше считает их источником. Умолчание — false.
Версию MTA определяет сам — обе понимает без настройки. Это отличает вход от выхода, где версию задают явно.
🔴 Заголовок обязателен, а не желателен. Со включённой строкой узел закрывает соединение, если заголовка не пришло. То есть клиент, подключившийся напрямую в обход балансировщика, будет отвергнут — и это правильно, иначе адрес можно было бы подделать.
От этого зависит всё, что смотрит на адрес источника: блоки <source>, ограничения, статистика. Ошибка здесь выглядит не как ошибка прокси, а как «списки работают неправильно».
🔎 Появится балансировщик — включать надо одновременно с ним, а не заранее: строка без него останавливает приём целиком.
Строка и балансировщик включаются вместе:
| Значение | Когда |
|---|---|
| no (умолчание) | клиенты подключаются напрямую |
| yes | перед узлом стоит балансировщик и он уже шлёт заголовок |
Промежуточного состояния нет: либо заголовок ждут всегда, либо никогда.
# включать одновременно с балансировщиком, не заранее <smtp-listener 0/0:2525> use-inbound-proxy yes inbound-proxy-timeout 5s </smtp-listener>
что делают не так и чем это кончается2 ошибки▶
§ 3.3.17.16
наш опыт
3 связи
smtp-listenerGlobalСтрока живёт внутри слушателя и касается соединений его адреса и порта. § 3.3.17.16Заголовок балансировщика на входеМеханизм, который эта строка и включает. § 3.3.17.16
inbound-proxy-timeout<smtp-listener>Ожидание считается только тогда, когда приём заголовка вообще включён. § 3.3.17.17log-inbound-proxy<smtp-listener>Записывать нечего, пока приём заголовка балансировщика не включён. § 3.3.17.18use-inbound-proxy<transmissions-api-listener>Одноимённая строка у слушателя почты; здесь она про отдельный вход, свой у API. § 3.3.21.13
nc -zv NODE 2525
3 статьи
◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.◇Заголовок балансировщика на входеУзел читает заголовок PROXY в начале входящего соединения и считает источником адрес из него; работает у обоих видов входа.