2016-09-16 13 views
1

Есть ли способ сделать привязку Nginx 1.11 к определенному интерфейсу независимо от IP-адреса?NGINX привязывается к определенному сетевому интерфейсу, независимо от IP-адреса

У меня есть домашний шлюз провайдера ISP; он использует DHCP-клиент для получения своего динамического IP-адреса. Я не знаю, что этот IP-адрес находится в конфигурации конфигурации NGINX.

Наверняка, должен быть способ сделать такой тонкий HTTP-сервер привязанным к определенному сетевому интерфейсу? Я знаю, что Apache может.

+1

Почему бы просто не привязать ко всем? –

+0

Другие интерфейсы связаны с корпоративной сетью (имеющей собственный веб-сервер), тестовой сетью (у которой ее нет) и виртуальной сетью для виртуальной хост-фермы (которая запускает Apache). Следовательно, необходимо привязать этот Nginx специально к внешнему интерфейсу. –

ответ

2

Измените последовательность запуска, чтобы выполнить команду или сценарий, который фиксирует IP-адрес интерфейса и записывает его в файл в формате listen <ip>:80 или любой другой порт, который вы хотите:

echo "listen $(ip -o -4 a s eth0 | awk '{ print $4 }' | cut -d/ -f1):80;" > /path/to/some/file 

Тогда только что ваш Nginx конфигурации включают в себя этот файл:

include /path/to/some/file; 

Очевидно, что вам необходимо убедиться, что захват IP происходит до запуска nginx.

+1

Да. Рассмотрение машинного кода Nginx показывает, что он НЕ МОЖЕТ связываться с определенным интерфейсом. Какой плачущий позор, чтобы уменьшить прекрасный продукт с помощью только прямых куртки. –

 Смежные вопросы

  • Нет связанных вопросов^_^