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. Одно исключение не решило проблему. Затем я выключил брандмауэр и смог подключиться к apache на ноутбуке с моего компьютера Mac. То, что действительно решило проблему, было в контрольной панели> сеть и центр обмена. Я изменил настройки для активной сети и установил ее как домашнюю сеть. Если вы проверите на win firewall, вы должны увидеть, что Домашняя сеть (частная) подключена


+1, я также должен был выбрать домашнюю группу для текущей сети, чтобы правило работало. Спасибо @ricardo.
ришимахарадж

1

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

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

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


> Возможно, у вас другой IP-адрес, поэтому маршрутизатор может пересылать его некорректно. Согласовано! Я «портирую» мою установку WordPress, чтобы я мог легко разместить ее где угодно. У меня это работает локально, но оно заблокировано от мира. В брандмауэре Windows уже есть исключение, потому что я сказал « разрешить», когда он мне это подсказал, поэтому я проверил маршрутизатор, и, конечно же, он был настроен на переадресацию порта 80 на IP моего рабочего стола. Конечно, не стоит менять его на ноутбук. Вместо этого я назначил триггер порта, и теперь он работает с любой подключенной системы.
Synetech

1

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

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


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.