19

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

Это работало нормально под Windows XP, прежде чем я обновился до Windows 7.

Я подозреваю, что проблема в том, что порт 80 не открыт для внешнего доступа к компьютеру.

Кто-нибудь знает, как открыть этот порт в брандмауэре Windows, или если что-то заблокировано, что это такое и как его разблокировать?

7 ответов7

33

Чтобы добавить правило в брандмауэр Windows для порта 80, выполните следующие действия.

  • Зайдите в Панель управления и запустите "Брандмауэр Windows"
  • Перейти в "Дополнительные настройки"
  • Выберите "Входящие правила" на левой панели
  • Выберите "Новое правило" в правой панели
  • В мастере создания нового входящего правила выберите "Порт" в качестве типа правила, затем нажмите "Далее"
  • Выберите «TCP и поместите" 80 "(и любые другие порты, которые вы хотите открыть) в" Определенные локальные порты ", затем нажмите" Далее "
  • Выберите "Разрешить подключение", затем нажмите "Далее"
  • Выберите сетевое местоположение, к которому должно применяться правило (выберите их все, если вы не уверены), затем нажмите "Далее"
  • Дайте имя и опциональное описание

Это должно сделать это.

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 firewall, вы должны увидеть, что Домашняя сеть (частная) подключена

1

Попробуйте открыть порт на вашем маршрутизаторе и посмотреть на собственный брандмауэр Windows.

Помните, что когда вы переустанавливали Windows, возможно, у вас есть другая аренда DHCP и другой IP-адрес, поэтому маршрутизатор может пересылать его неправильно.

Кроме того, ваш маршрутизатор должен поддерживать "обратную петлю", иначе вам просто не удастся подключиться, однако я предполагаю, что он поддерживает его, как вы сказали ранее. Чтобы проверить это, я настоятельно рекомендую вам использовать Hide My Ass или Proxify.

1

В дополнение к проверке брандмауэра и проверке, слушает ли apache только адрес локального хоста, вы можете / должны также проверить ваши файлы .htaccess . Возможно, в новой версии вы установили более строгую политику безопасности.

Некоторые учебники по .htaccess

0

Похоже, это проблема с брандмауэром Windows 7. Когда я выключаю брандмауэр, он работает правильно. Теперь мне просто нужно выяснить, как активировать брандмауэр, но разрешить соединения через порт 80.

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