<div dir="ltr"><div><div><div><a href="https://bugs.centos.org/view.php?id=14828">https://bugs.centos.org/view.php?id=14828</a><br><br></div>до RHEL-овских дистрибутивов доступа нет, у CentOS сейчас 4000+ неназначенных багов.<br></div>шансы на то, что RedHat бросится это чинить, думаю, дай бог, чтобы к 7.6 поправили<br><br><br></div>пересоберете пакет с поддержкой опции ?<br></div><div class="gmail_extra"><br><div class="gmail_quote">15 мая 2018 г., 16:18 пользователь Konstantin Pavlov <span dir="ltr"><<a href="mailto:thresh@nginx.com" target="_blank">thresh@nginx.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Здравствуйте, Илья,<br>
<br>
14.05.2018 13:30, Илья Шипицин wrot> 14 мая 2018 г., 15:04 пользователь<br>
Ruslan Ermilov <<a href="mailto:ru@nginx.com">ru@nginx.com</a><br>
> <mailto:<a href="mailto:ru@nginx.com">ru@nginx.com</a>>> написал:<br>
<span class="">> <br>
>     On Mon, May 14, 2018 at 12:14:28PM +0500, Илья Шипицин wrote:<br>
>     > на днях зарелизился centos-7.5, в нем, к сожалению, все по прежнему<br>
>     > <br>
>     > завел тикет<br>
>     > <br>
>     > <a href="https://trac.nginx.org/nginx/ticket/1553" rel="noreferrer" target="_blank">https://trac.nginx.org/nginx/<wbr>ticket/1553</a><br>
>     <<a href="https://trac.nginx.org/nginx/ticket/1553" rel="noreferrer" target="_blank">https://trac.nginx.org/nginx/<wbr>ticket/1553</a>><br>
>     > <br>
>     > посмотрите ?<br>
>     > <br>
</span>>     > 29 апреля 2018 г., 3:40 пользователь Валентин Бартенев <<a href="mailto:vbart@nginx.com">vbart@nginx.com</a> <mailto:<a href="mailto:vbart@nginx.com">vbart@nginx.com</a>>><br>
<div><div class="h5">>     > написал:<br>
>     > <br>
>     > > On Saturday, 28 April 2018 15:03:49 MSK Илья Шипицин wrote:<br>
>     > > > привет!<br>
>     > > ><br>
>     > > > поддержка IP_BIND_ADDRESS_NO_PORT официально началась в ядре 4.2, но ...<br>
>     > > > ее портировали в 3.10 на CentOS-7.4<br>
>     > > ><br>
>     > > > однако, портировали не очень качественно. константа определена не в том<br>
>     > > > файле, в котором должна (и в котором ищет nginx)<br>
>     > > ><br>
>     > > > [root@xxx ~]# grep -r IP_BIND_ADDRESS_NO_PORT /usr/include/<br>
>     > > > /usr/include/linux/in.h:#<wbr>define IP_BIND_ADDRESS_NO_PORT    24<br>
>     > > > [root@xxx ~]#<br>
>     > > ><br>
>     > > ><br>
>     > > > т.е. если пакет собирать, как он собирается обычно, то поддержка<br>
>     > > > IP_BIND_ADDRESS_NO_PORT не включается (хотя могла бы).<br>
>     > > ><br>
>     > > > скажите, вы официальные пакеты собираете каким образом ? кажется, имеет<br>
>     > > > смысл поправить эту процедуру и дать эту крутую фичу пользователям<br>
>     > > > CentOS-7.4<br>
>     > > ><br>
>     > ><br>
>     > > Дело же не в ядре (не только в нем).  На линуксах интерфейс обеспечивает<br>
>     > > glibc и именно туда смотрит nginx.<br>
> <br>
>     <linux/in.h> - это заголовочный файл ядра.  <netinet/in.h> - это<br>
>     заголовочный файл glibc.  Приложения используют <netinet/in.h>.<br>
>     В норме макрос IP_BIND_ADDRESS_NO_PORT есть в обоих файлах, что<br>
>     означает, что поддержка есть и в ядре, и в glibc.  Утверждение о<br>
>     том, что "константа определена не в том файле", ошибочное.<br>
> <br>
>     Как Вам уже пытался ранее объяснять Валентин, проблема заключается<br>
>     в том, что в установленной версии glibc нет поддержки этого макроса.<br>
> <br>
>     Для себя Вы можете проблему решить так:<br>
> <br>
>             configure --with-cc-opt=-DIP_BIND_<wbr>ADDRESS_NO_PORT=24<br>
> <br>
> <br>
> <br>
> для себя я, конечно, решу.<br>
> <br>
> первоначально мы попали в неочевидную ловушку<br>
> 1) читаем про IP_BIND_ADDRESS_NO_PORT<br>
> 2) читаем, что начиная с centos-7.4 должно работать<br>
> 3) ставим официальный пакет<br>
> 4) не работает (но чтобы это понять, пришлось залезть в отладочный лог и<br>
> попрыгать с strace)<br>
> <br>
> в официальном пакете поправите ?<br>
<br>
</div></div>Нам усиленно кажется, что исправлять это надо в RHEL/CentOS.  Повесьте<br>
им багу о несоответствии интерфейсов ядра и glibc, это наилучший выход<br>
из этой ситуации.<br>
<span class="HOEnZb"><font color="#888888"><br>
-- <br>
Konstantin Pavlov<br>
<a href="https://www.nginx.com/" rel="noreferrer" target="_blank">https://www.nginx.com/</a><br>
</font></span></blockquote></div><br></div>