Apache Server на Windows 7 відкриває порти?


20

Я встановив Apache 2.2.14 на Windows 7 і можу переглядати мій веб - сторінку , використовуючи як http://localhostі , http://127.0.0.1але коли я намагаюся отримати доступ до сервера з іншого комп'ютера , на одному маршрутизаторі, він зазнає невдачі. Він також виходить з ладу, коли я використовую адресу DynDNS, яку я картографував.

Це добре спрацювало під Windows XP, перш ніж я оновився до Windows 7.

Я підозрюю, що це щось на зразок порту 80, не відкритого для зовнішнього доступу до комп'ютера.

Хтось знає, як відкрити цей порт у брандмауері Windows, або якщо щось інше заблоковано, що це таке, і як його розблокувати?

Відповіді:


34

Щоб додати правило у брандмауер Windows для порту 80, виконайте наступне:

  • Перейдіть на панель керування та запустіть "Брандмауер Windows"
  • Перейдіть до "Розширені налаштування"
  • Виберіть "Лінійки вхідних даних" на лівій панелі
  • Виберіть "Нове правило" на правій панелі
  • У Майстрі нового вхідного правила виберіть "Порт" як Тип правила, а потім натисніть "Далі"
  • Виберіть "TCP та поставте" 80 "(та будь-які інші порти, які ви хочете відкрити) у" Специфічні локальні порти ", а потім натисніть" Далі "
  • Виберіть "Дозволити з'єднання", потім натисніть "Далі"
  • Виберіть мережеве місце, де правило має застосовуватися (виберіть їх усі, якщо ви не впевнені), а потім натисніть "Далі"
  • Дайте ім’я та необов’язковий опис

Це повинно це робити.


2
Ви можете виявити, що в налаштуваннях брандмауера вже є правило вхідного сигналу "Apache". Якщо ви вивчите це правило, на вкладці Загальні ви знайдете деякі налаштування, одне з яких - Дія. Є два варіанти - "Дозволити з'єднання" та "Дозволити з'єднання, якщо воно безпечне". Ви можете вибрати будь-який із цих варіантів на свій розсуд, але я пропоную вам прочитати та зрозуміти варіанти "Налаштувати" останніх.
Аарон Ньютон

Поради: Ви зможете відвідати цей порт, але ви, можливо, все ще не зможете пропрацювати ip!
fzyzcjy

3

Схоже, у брандмауера Windows 7 є страх перед 80 портом.

Він відкриє ці порти, якщо ви налаштуєте його таким чином:

Сервер Apache → UDP → всі порти.
Сервер Apache → TCP → всі порти.

Це погано, оскільки Apache зазвичай працює з певними портами (я маю на увазі 80, деякі використовують 8080 і 443), але я не знайшов іншого способу змусити правила брандмауера Apache працювати.


2

здається, вам потрібно додати виняток (порт 80) до брандмауера Windows.

Я впевнений, що це можна досягти, відкривши панель керування брандмауером і трохи натиснувши навколо. У XP це було принаймні просто.

Проблема також може полягати в тому, що apache налаштований лише для прослуховування в інтерфейсі петлі. Ви можете перевірити це, запустивши netstat або намагаючись відвідати іншу адресу вашого апарату, наприклад http://192.168.1.101/


2

Я просто працюю. Я створив правило виключення для порту 80 на брандмауері Windows. У мене працює ноутбук Windows 7 на ноутбуці та OSX Leopard на моєму Mac. Виняток тільки не виправив проблему. Потім я вимкнув брандмауер і мені вдалося підключитися до апаша на ноутбуці від мого Mac. Що дійсно вирішило проблему, було на панелі керування> мережі та спільного доступу. Я змінив налаштування для активної мережі та встановив її як домашню мережу. Якщо ви перевірите на брандмауері win, ви побачите підключену домашню мережу


+1, мені також довелося вибрати домашню групу для поточної мережі, щоб правило працювало. Дякую @ricardo.
rishimaharaj

1

Спробуйте як відкрити порт на маршрутизаторі до свого комп'ютера, так і подивитися власний брандмауер Windows.

Пам’ятайте, що при перевстановці Windows можливо, у вас є інша оренда DHCP та інша IP-адреса, тому маршрутизатор може більше не пересилати її правильно.

Крім цього, ваш маршрутизатор повинен підтримувати "Nat Loopback", інакше вам просто не вдасться підключитися, проте я припускаю, що він підтримує його, як ви сказали, що раніше працював. Щоб перевірити це, я настійно раджу використовувати Hide My Ass або Proxify .


> Можливо, у вас інша IP-адреса, тому маршрутизатор може більше не пересилати її правильно. Домовились! Я "порталізую" свою установку WordPress, щоб я міг легко розмістити її з будь-якого місця. У мене це працює локально, але він заблокований від світу. У брандмауері Windows вже є виняток, тому що я сказав дозволити, коли це підказало мені, тому я перевірив маршрутизатор, і, напевно, встановлено, що він пересилає порт 80 на IP мого робочого столу. Звичайно, змінити його на ноутбук - це не дуже добре. Замість цього я призначив тригер порту, і зараз працює з будь-якої підключеної системи.
Synetech

1

Окрім перевірки брандмауера та перевірки того, чи apache прослуховує лише адресу localhost, ви можете / повинні також перевірити свої .htaccessфайли. У встановленій вами новій версії, можливо, було застосовано більш обмежувальну політику безпеки.

Деякі навчальні посібники про .htaccess


0

Схоже, це проблема із брандмауером Windows 7. Коли я відключаю брандмауер, він працює належним чином. Тепер мені просто потрібно розібратися, як активувати брандмауер, але дозволити з'єднання порту 80.

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