Хобрук: Ваш путь к мастерству в программировании

Виртуальный хост Apache недоступен из локальной сети

Я настроил виртуальный хост с Apache2 со следующей конфигурацией:

<VirtualHost *:8080>
    ServerName example.com
    DocumentRoot /var/www/example.com
</VirtualHost>

Доступ к сайту возможен извне.

example.com

Но если я ввожу example.com из другой системы в своей локальной сети, открывается страница конфигурации моего маршрутизатора.

Я перенаправил порт 80 своего маршрутизатора на порт 8080 моего сервера в моей сети.

Но я хотел бы получить доступ к веб-сайту и из других моих систем в локальной сети. Это возможно?


  • Вместо этого вы можете попробовать опубликовать этот вопрос в Server Fault. 10.02.2021

Ответы:


1

Ваш маршрутизатор, вероятно, не поддерживает петлю NAT, когда вы получаете доступ к службе в локальной сети через WAN IP-адрес маршрутизатора. Большинство маршрутизаторов потребительского уровня не поддерживают петлю NAT.

У вас есть только 2 варианта:

  1. Смените маршрутизатор на тот, который поддерживает петлю NAT.
    например. Какие маршрутизаторы NETGEAR поддерживают замыкание на себя NAT

  2. Вместо этого получите доступ к своему сервису через внутренний IP-адрес. Вы можете переопределить общедоступный DNS, используя локальный файл HOSTS.

Как правило, я работаю над этим и делаю сайт доступным для всех машин/устройств в локальной сети: определяю local субдомен (A запись) в общедоступном DNS, который указывает на локальный IP-адрес. Поэтому, когда я в локальной сети, я захожу на сайт по поддомену local.example.com.

Связанный с этим вопрос о Security SE, в котором более подробно рассказывается о том, что на самом деле происходит с сетевым трафиком:

10.02.2021
  • Большое спасибо за ваш идеальный ответ! Я не знал о петле NAT. Я просто сделал то, что вы рекомендовали: добавил субдомен записи A, который теперь является home.example.com, указывающим на локальный IP-адрес моего сервера Apache (в моем случае 192.168.x.x). Потребовалось 5 минут, прежде чем он стал активным, и теперь я могу получить доступ к home.example.com с компьютеров в моей локальной сети. Большое спасибо! 12.02.2021
  • Новые материалы

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..

    Расистский и сексистский робот, обученный в Интернете
    Его ИИ основан на предвзятых данных, которые создают предрассудки. Он словно переходит из одного эпизода в другой из серии Черное зеркало , а вместо этого представляет собой хронику..

    Управление состоянием в микрофронтендах
    Стратегии бесперебойного сотрудничества Микро-фронтенды — это быстро растущая тенденция в сфере фронтенда, гарантирующая, что удовольствие не ограничивается исключительно бэкэнд-системами..

    Декларативное и функциональное программирование в стиле LINQ с использованием JavaScript с использованием каррирования и генератора ...
    LINQ - одна из лучших функций C #, которая обеспечивает элегантный способ написания кода декларативного и функционального стиля, который легко читать и понимать. Благодаря таким функциям ES6,..

    Структуры данных в C ++ - Часть 1
    Реализация общих структур данных в C ++ C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..

    Как я опубликовал свое первое приложение в App Store в 13 лет
    Как все началось Все началось три года назад летом после моего четвертого класса в начальной школе. Для меня, четвертого класса, лето кажется бесконечным, пока оно не закончится, и мой отец..