Руками пересчитал количество bind в выводе strace, да, их стало меньше. Да, этот вариант действительно не рабочий. Пока что сделано через fake bind, загружаемый через LD_PRELOAD. Костыль, конечно.
чт, 15 нояб. 2018 г. в 16:55, Maxim Dounin <mdou...@mdounin.ru>: > Hello! > > On Thu, Nov 15, 2018 at 12:42:51PM +0300, kpoxa wrote: > > > Добрый день. > > > > Не помогает такой вариант: > > > > http { > > server { > > server_name bind_only; > > listen 80; > > listen 443 ssl; > > location / { return 200;} > > } > > server { > > listen ip10:443; > > } > > server { > > listen ip11:443; > > } > > } > > stream { > > server { > > listen ip1:443; > > } > > server { > > listen ip2:443; > > } > > server { > > listen ip3:443; > > } > > } > > > > Всё равно nginx при проверке синтаксиса делает bind ко всем адресам, > > которые указаны в listen; > > Как я уже писал ранее, если один и тот же порт пытаться > использовать в разных модулях - будут проблемы. > > В приведённой конфигурации - в http-модуле будет создан > listen-сокет на *:443, а в stream-модуле - сокеты на ip1:443, > ip2:443, ip3:443. Вероятно, именно попытки bind'а на ip1:443, > ip2:443 и ip3:443 вы приняли за "делает bind ко всем адресам". На > самом деле не ко всем, а только к тем, что указаны в > stream-модуле. > > Однако проблема не в этом, а в том, что на Линуксе такая > конфигурация банально не заработает, так как открыть сокет на > ip:443 при имеющемся открытом сокете на *:443 - на Линуксе > нельзя. > > -- > Maxim Dounin > http://mdounin.ru/ > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru