Веб-сервер не разрешает публичные подключения

335
Ozeta

Я не могу получить доступ к локальному веб-серверу в виртуальной машине для тестирования, и я не понимаю, почему. SSH и VNC работают нормально. Сервер представляет собой виртуальную машину Virtualbox с мостовым соединением, работающую на ноутбуке.

Это конфигурация IP:

Адрес модема / маршрутизатора: 192.168.1.1
Портативный компьютер: 192.168.1.86
ВМ: 192.168.1.89

  • Модем / маршрутизатор подключен к Интернету, и у меня полностью работает домен DDNS на noip.com.
  • Я могу пропинговать модем с моего публичного IP-адреса и публичного домена из-за пределов локальной сети.
  • Я настроил следующие порты на модеме / маршрутизаторе:
    SSH 192.168.1.89 TCP TCP:22 TCP:22 active
    HTTP 192.168.1.89 TCP TCP:80 TCP:80 active
    VNC 192.168.1.86 TCP 5900 5900 active

  • Внутри локальной сети я могу получить доступ к серверу как с ноутбука, так и с других устройств.

  • За пределами локальной сети, используя адрес DDNS, я могу получить доступ к ноутбуку с VNC и к виртуальной машине с SSH

Так что в принципе все работает отлично, кроме HTTP.

1
Какое программное обеспечение для веб-обслуживания вы используете? Как выглядит конфигурация для этой настройки? Если ваш веб-сервер Apache явно связан с `192.168.1.89`, то это может быть проблемой. Но невозможно сказать, не зная больше деталей.a192.168.1.89 JakeGould 7 лет назад 0
Это кастомная битнами vbox. Я обнаружил, что работает Apache + MySQL. bitnami @ ubuntu: ~ / apps / magento $ sudo /etc/init.d/bitnami Лак состояния уже запущен php-fpm уже запущен apache уже запущен mysql уже запущен Memcached уже запущен Надеюсь, что это достаточно хорошо. если не спросите меня, какая информация вам нужна: Ozeta 7 лет назад 0
Вы говорите ** `Я не могу получить доступ к локальному веб-серверу в моем доме для тестирования` **, а затем вы говорите **` Из локальной сети я могу получить доступ к серверу как с ноутбука, так и с других устройств` **. Обе эти инструкции относятся к веб-сайту на виртуальной машине с использованием TCP-порта 80? Если это так, то эти утверждения звучат противоречиво, если, возможно, ваш дом и локальная сеть не находятся в разных местах, мне это либо не разрешается, либо локально не разрешается доступ к одной и той же подсети. Вы можете проверить, что конфигурация сетевого адаптера на хосте, на котором работает виртуальная машина, не блокирует или не перенаправляет трафик на виртуальную машину или что-то в этом роде ,,, Pimp Juice IT 7 лет назад 1
проверьте ваш bitnami vm, где он слушает и настроен ли брандмауэр. но, вероятно, у вас есть прямой порт 80 на вашем маршрутизаторе, и вы должны выбрать другой порт, так как он, как правило, имеет WebGUI и по умолчанию запрещает доступ из WAN. Так что перенаправьте порт, например, 8080 на вашем роутере на порт 80 .89. Zina 7 лет назад 0
@PIMP_JUICE_IT да. мой дом находится на моей локальной сети, и я могу получить доступ к виртуальной машине изнутри локальной сети, но не снаружи дома. Как я могу проверить конфигурацию NIC? Ozeta 7 лет назад 0
@Zina попыталась открыть порты, ничего не произошло. Кроме того, я попробовал эту команду, чтобы понять, какой порт открыт, но я не могу понять, какие используются. Я загрузил результаты здесь: http://pastebin.com/qecf4sYN Ozeta 7 лет назад 0
кажется, ваш bitnami apache прослушивает порт 81, сделайте простой `netstat -anutp ', чтобы мы могли видеть, что и где слушают. и использовать найденный порт для пересылки (и опять же, я бы не стал использовать 80 на вашем общедоступном IP для пересылки). Вы также можете проверить с вашего компьютера в bitnami с Nmap, какой порт отображается как открытый. Zina 7 лет назад 0
@ Зина, это netstat -anutp: http://pastebin.com/RFuKuRNY. Я пытался изменить 80 на 81, но до сих пор нет прогресса Ozeta 7 лет назад 0
@ Zina Может ли это быть помехой между портами хоста win10 и гостем vm? потому что, если я запускаю xampp на win10, с отображением порта на ip Windows, веб-страница xampp по умолчанию доступна Ozeta 7 лет назад 0
Не могли бы вы попытаться перенаправить порт 8081 на вашем маршрутизаторе на порт 8081 вашего хост-компьютера (.86) и добавить виртуальную сетевую карту с NAT-подключением к вашей виртуальной машине, а затем в переадресованный порт VirtualBox 80 на порт 80 и IP-адрес NAT на вашей виртуальной машине? Это работало для меня на OSX 10.11.5 и VirtualBox версии 5.0.24 r108355 (у меня нет машины с Windows, и мой маршрутизатор HUAWEI F2000 не выводит список устройств с подключенными виртуальными сетевыми сетями - поэтому я не могу проверить это). Zina 7 лет назад 0

2 ответа на вопрос

0
buzz boy

Из ваших сообщений в комментариях и выводах sudo lsof -i видно, что на машине запущен varnishd, который является демоном HTTP-ускорителя.
«Демон varnishd принимает HTTP-запросы от клиентов, передает их на внутренний сервер и кэширует возвращенные документы для лучшего удовлетворения будущих запросов на тот же документ».
Возможно, что-то не так с его конфигурацией. Посмотрите на это: https://www.varnish-cache.org/docs/2.1/reference/varnishd.html

0
Wes Sayeed

Возможно, ваш интернет-провайдер блокирует соединение извне вашей сети.

Многие интернет-провайдеры блокируют порты общих служб (HTTP, HTTPS, FTP, SMTP и т. Д.), Чтобы запретить клиентам запускать размещенные службы у себя дома, если они не подписались на «бизнес-класс» или какой-либо сервис более высокого уровня по более высокой цене.

Блокировка этих конкретных портов фактически не позволяет людям вести бизнес по тарифному плану.

Узнайте у своего интернет-провайдера, делают ли они это.

Также проверьте, работает ли межсетевой экран внутри виртуальной машины. Порт 80/443 может потребоваться открыть. Поскольку вы можете нормально подключиться через SSH, я подозреваю, что вы, вероятно, уже рассмотрели это, однако.