apache (xampp) недоступний через інтранет


0

Гаразд, тому у мене є веб-додаток, який я хочу перевірити на купі різних пристроїв. Для того, щоб це легко зробити, мені потрібно виставити програму на екстранет, щоб я мав доступ до неї з будь-якого місця.

Інтранет IP моєї машини - 192.168.1.66, призначений мною вручну від маршрутизатора.
Створений DMZ, тому 192.168.1.66 слід повністю піддавати дії екстранету.

Однак Apache навіть не відповідає з інтрамережі.
Доступ до http: // localhost / app показує мені встановлення XAMPP, але http://192.168.1.66/app не робить.

Навколишнє середовище - це повністю стандартна установка XAMPP під Windows. Я нічого не змінив, я лише додав веб-додаток до docroot.
Httpd.conf за замовчуванням має "Слухати 80", тому це не повинно бути проблемою.
Я намагався повністю відключити брандмауер Windows без жодного успіху.

Я також не маю уявлення, чи нормально це, але 'netstat -a' показує мені кілька записів для порту 80 як такого:

TCP    [::]:80                DESKTOP-DVN0SQB:0      LISTENING  
TCP    192.168.1.66:80        DESKTOP-DVN0SQB:0      LISTENING  
TCP    0.0.0.0:80             DESKTOP-DVN0SQB:0      LISTENING 

Netstat також показує мені IP-адресу, яку я не впізнаю, 192.168.56.1. Що мене бентежить, це те, що я спробував отримати доступ до нього, і як це не дивно, мій додаток можна знайти на http://192.168.56.1/app . Але це здається локальною адресою, оскільки я не можу отримати доступ до неї з будь-якого пристрою в інтрамережі.

Що дає? Що це за 192.168.56.1 адреса? Пам'ятаю, я бачив подібну адресу, коли я грав з Вагрантом кілька днів тому, чи може це бути пов’язано? У мене більше немає віртуальних машин, я знищив їх усіх (на випадок, якщо це могло бути пов’язано).

І найголовніше: чому я не можу отримати доступ до Apache з інтрамережі? Тому що це, безумовно, заважає мені отримати доступ до нього з екстранети.

Відповіді:


1

[W] хіба я не можу отримати доступ до Apache з інтрамережі?

Оскільки Apache, мабуть, пов'язаний з мережевим адаптером, який не є частиною інтрамережі, до якої ви намагаєтесь отримати доступ.

Щоб було зрозуміло, 192.168.1.x та 192.168.56.x в цьому випадку є окремими мережами (припускаючи стандартну маску підмережі класу C 255.255.255.0).

Адреса, яку використовує Apache (192.168.56.1), швидше за все, IP за замовчуванням для адаптера віртуальної мережі, який використовується для віртуальних машин. Здається, Apache вибрав цей адаптер / IP у відповідь на загальну Listen 80директиву (як ви вже згадували).

Пам'ятаю, я бачив подібну адресу, коли я грав з Вагрантом кілька днів тому, чи може це бути пов’язано?

Це може бути пов’язане. Якщо Vagrant встановив будь-які адаптери віртуальної мережі, якщо ви спеціально не вилучили ці адаптери, вони, швидше за все, все ще активні у вашій системі.

Якщо ви точно не використовуєте цей адаптер віртуальної мережі, ви можете видалити його повністю.

У будь-якому випадку, ви можете прив’язати Apache (за необхідності) до визначеного IP-адреси в httpd.conf за допомогою більш конкретної директиви прослуховування, наприклад

Listen 192.168.1.66:80

Зауважте, оскільки ви коментували Vagrant, я припускаю, що ваш сервер / додаток не працює в VM. Якщо це так (можливо, скажімо, ви замість цього використовуєте VirtualBox), вам потрібно буде відрегулювати налаштування для VM, щоб зробити його доступним для інтрамережі.


1
Дякую за пояснення, Слухай 192.168.1.66:80 працював. Так, у мене було відчуття, що VirtualBox / Vagrant має щось спільне з цим.
xIcarus

Крім того ні, я не запускав додаток у віртуальній машині. Я раніше використовував VM для інших програм.
xIcarus

Прошу. Радий, що у вас все працює правильно. =)
Анаксунаман

0

Як ви вже говорили, http: // localhost / app розпізнається в інтранеті. Проблема пов’язана з IPv4, на якому зараз працює додаток, тому спробуйте це перевірити. Я не знаю, яку програму ви використовуєте, але має бути файл config.php, в якому ви можете встановити довірений домен, до якого можна отримати доступ.

Крім того, я сумніваюся, що до такого загального IPv4 (192.168.1.66) можна отримати доступ звідусіль: я не знаю всієї вашої мережевої конфігурації, але повинен мати динамічний IP-адрес, присвоєний у всьому світі, а вказана адреса лише локальна.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.