Порт 80 в большинстве операционных систем «забинден» под HTTP-сервер. Не стали исключением операционные системы от Microsoft — Windows 7, 8 и даже последняя новинка — Windows 10. Поэтому открыть его в брандмауэре просто так не получится. Тут нужны танцы с бубном. Какие конкретно — я сейчас расскажу.
В Виндовс есть такой драйвер уровня ядра — http.sys, который обрабатывает http-запросы и «слушает» всё, что приходит в 80-го порта. Именно этот драйвер и не даст ничему иному через этот порт работать. Что делать?
Самый простой способ — обмануть http.sys. Дело в том, что любая современная операционная система поддерживает как старый протокол TCP/IPv4, так и новый — TCP/IPv6, который пока только набирает обороты, но не настолько распространён, как его предшественник. Так вот по умолчанию драйвер работает именно с четвёртой версией протокола. А мы его заставим работать с IPv6. Для этого запускаем командную строку с правами администратора и пишем в ней команду:
netsh http add iplisten ipaddress=::
Этим мы указываем http.sys работать с IPv6 адресом 0:0:0:0:0:0:0:0, который для краткости пишется как два двоеточия — «::».
Далее нужно открыть системный файл HOSTS (опять же с правами администратора), который расположен по адресу:
C:\Windows\System32\drivers\etc\hosts
И добавить в нём строчку:
127.0.0.1 local
После этого надо перезагрузиться и можно проверять. 80-й порт должен быть доступен.
Иные варианты решения проблемы
Если первый способ не помог, можно попробовать следующее:
1. Начните с проверки системы антивирусом. Иногда поселившаяся в компьютере пакость тоже пытается открыть порт 80 в Виндовс чтобы дальше распространятся.
2. Отключите встроенный веб-сервер IIS. Делается это так — нажимаем комбинацию Win+R, вводим команду gpedit.msc и открываем таким образом список служб. Отключаем IIS, перезагружаемся и проверяем доступность 80 порта.
3. Крайний способ — редактирование реестра. Заранее хочу предупредить, что после этих действий могут возникнуть проблемы с принтером (если, конечно, он у Вас подключен).
Запускаем редактор реестра regedit и редактируем ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
В ней надо поменять значение у параметра Start с 3 на 4. Перезагружаемся, проверяем.
Не помогло? Тогда отключим http ручками в реестре. Для этого снова открываем ту же ветку реестра и создаём параметр типа DWORD (32-бит) с именем NoRun. Значение у него выставляем 1. Снова перезагружаемся и проверяем.
Не плохо!
Совсем не плохо
и пере-за-гружаться не надо,
достаточно выйти из системы и опять войти
Первое сработало на ура!
netsh http add iplisten ipaddress=::
ничего из всего перечисленного не помогло для Windows-10. Может ли в этом быть виноват провайдер интернета? Что еще можно сделать для открытия порта 80 ?
А Вы напрямую или через роутер подключены?
через роутер, порты проброшены, но эффект «0». С Xp, 7, 8.1 проблем нет.
Значит что-то дополнительно блокирует. Надо искать!
сделал — медод через «netsh http add iplisten ipaddress=::»
как обратно поменять на ipv4
Попробуйте так:
netsh http add iplisten ipaddress=0.0.0.0
Или так:
netsh http add iplisten ipaddress=0.0.0.0:80
Спасибо за оперативный ответ. Сейчас попробую.
Видимо не получается. Т.к работаю с bitrixVM. и после команды
«netsh http add iplisten ipaddress=::» машина выдает ip4 undefined и соответственно не работает.
На данный момент решил этот момент.
Все танцы в бубном исполнил, но ничего не помогло.
Интересно узнать, что же всё-таки блокирует 80-й порт…
А то сайт работает с портом 8080, что некрасиво (http://сайт:8080/) а хотелось бы без указания порта…
Люблю! Целую! Чмоки-чмоки!!!
Всё получилось на (изрядно покорёженом) Win 8.1 c OpenServerom и ocStore 2.3 на flash-ке.
А какие можно ждать неприятности от этой настройки?… :))
Да в приципе — ничего такого, если в опенсервере никаких важных файлов не откроете в доступ.