3

Я использую Apache 2.2.3 в виртуальной машине для тестовой среды на CentOS 5. Apache работает и отвечает на запросы на самой виртуальной машине. Если я запускаю "lynx localhost" на виртуальной машине, я получаю тестовую страницу.

Когда я пытаюсь получить доступ к Apache с моего компьютера, я ничего не получаю. SSH работает с виртуальной машиной, но ничего с Apache. Я настроил iptables на виртуальной машине так, чтобы она была открыта для чего угодно, но запросы HTTP с моего компьютера по-прежнему ничего не возвращали (я получаю тайм-ауты, когда я подключаюсь через виртуальный порт через порт 80 к виртуальной машине, и мой браузер просто говорит «не удается открыть страницу на 172.16.xy»).

Что еще я должен проверить?

2 ответа2

2

Проверьте, где Apache слушает:

$ sudo netstat -nlp | grep apache
tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN    4720/apache2    
                    ^^^^^^^^^

Если вы видите 127.0.0.1 как указано выше, ваш Apache прослушивает только интерфейс обратной связи, и другие машины не смогут подключиться к нему. Ищите директиву Listen в вашей конфигурации Apache, которая будет выглядеть примерно так:

Listen 127.0.0.1:80

Если вы удалите 127.0.0.1 (то есть у вас есть Listen 80) и перезапустите Apache, он должен будет прослушивать все доступные адреса.

0

Я согласен с @Flup, но есть и другие вещи, которые вы можете попробовать -

Можете ли вы использовать Lynx для перехода по URL по его IP-адресу от ВМ, т.е. lynx http://1.2.3.4 должен более внимательно изучить конфигурацию / сеть ВМ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .