Назад | Перейти на главную страницу

Привязка Apache к определенному IP-адресу

У меня три IP-адреса. Я пытаюсь привязать Apache к двум своим IP-адресам, чтобы третий оставался свободным для других целей (Node.js). В настоящее время Apache прослушивает все IP-адреса. httpd.conf:

Listen 80

Я хочу, чтобы Apache привязался только к двум моим адресам. Я пробовал следовать этот doc и заменил приведенный выше Listen 80 со следующим:

Listen XX.XX.XX.XX:80
Listen XX.XX.XX.XX:80

Однако, когда я пытаюсь перезапустить Apache, я получаю следующую ошибку:

Stopping httpd:        [FAILED]
(99)Cannot assign requested address: make_sock: could not bind to address XX.XX.XX.XX:80
no listening sockets available, shutting down

Я не понимаю, как порт 80 можно использовать для всех IP-адресов, но когда я указываю отдельные IP-адреса, возникает ошибка. У кого-нибудь есть идеи?

Спасибо.

Обычно это сообщение об ошибке возникает либо из-за ввода неправильного IP-адреса, либо из-за того, что порт 80 уже используется на указанном IP-адресе. Попробуйте временно изменить порт на 81 (или аналогичный неиспользуемый номер) и посмотрите, работает ли это. Если это так, это означает, что что-то еще прослушивает порт 80 на одном или обоих этих IP-адресах. netstat должен перечислить все службы, прослушивающие все адреса.

Вам нужно только привязать 1 IP-адрес к apache.

Listen [myIP1]:80

Это все, что тебе нужно.

Вы видите оба ips, если сделаете

ifconfig -a

SSL заблокирует Apache для прослушивания на том же порту.

Пытаться semanage port -l |grep http_t вы получите доступные порты для прослушивания, чтобы вы могли выбрать другой порт и поставить виртуальный хост для прослушивания на нем.

В ubuntu 12.04 вам нужно было добавить туда IP (httpd.conf пуст) в

NameVirtualHost xx.xx.xx.xx: 80 (если у вас более одного домена на сайте)
Слушайте xx.xx.xx.xx: 80