- 0
[5.2 Beta 2] Nginx bind к global интерфейсам приводит к его краху
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.
Вопрос
hoaxisr
Проверял на Ultra KN-1810 (mipsel). 5.2 Бета 2
Проблема:
ndm добавляет в конфигурацию nginx `listen` на настроенный адрес интерфейса, не проверяя, что адрес есть в ядре. Если адреса нет, nginx при запуске завершается с `bind() failed (126)`, ndm запускает его снова с тем же конфигом, и так по кругу. Пока запись интерфейса на месте без адреса, веб-интерфейс и RCI на `127.0.0.1:79` не отвечают. Один интерфейс лишает управления роутером.Сторонних программ в Entware нет, воспроизвести можно:
`kill -HUP` при снятом адресе и reload не проходит (`[emerg] bind()`)
остановка nginx при снятом адресе и nginx не запускается, перезапуск каждые 3–4 с
`no interface OpkgTun9` и nginx запустился в пределах 5 с
Журнал:
[emerg] bind() to 172.31.99.1:80 failed (126: Address not available)
E ndm: Service: "Nginx": unexpectedly stopped.
Чего бы хотелось
- `listen` только по адресам, которые есть в ядре, либо разрешить не делать bind на OpkgTun/Proxy или вообще выбирать эти интерфейсы.
- Можно делать конечно `net.ipv4.ip_nonlocal_bind=1` и `net.ipv6.ip_nonlocal_bind=1`: nginx с ними запускался.
- Не давать одному `listen` на необязательном интерфейсе останавливать весь веб-сервер и RCI и запускать nginx без него.
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.