HTTP
Руководство по HTTP-порту: веб-трафик на порту 80
Узнайте, почему порт 80 по-прежнему важен для перенаправления, сертификатов, проверок работоспособности и устаревших клиентов, даже если рабочий трафик должен использовать HTTPS.
- Порт по умолчанию
- 80
- Протокол
- TCP
- Основное назначение
- Устаревший или перенаправляемый веб‑трафик
Что такое порт 80?
Порт 80 является TCP-портом по умолчанию для HTTP. Когда браузер открывает URL-адрес http:// без специального порта, он подключается к порту 80 и отправляет простые HTTP-запросы. В отличие от HTTPS на порту 443, трафик на порту 80 по умолчанию не шифруется.
80 — HTTP-порт по умолчанию.
Браузеры, сканеры, балансировщики нагрузки, обратные прокси-серверы и устаревшие клиенты воспринимают порт 80 как стандартную точку входа для обычного HTTP.
Порт 80 обычно должен вести к HTTPS
Современные общедоступные сайты обычно оставляют 80 открытыми для перенаправления и автоматизации, в то время как реальные сеансы приложений происходят через зашифрованный HTTPS на 443.
Как работает HTTP на порту 80
HTTP — это протокол запросов и ответов, используемый браузерами, API, веб-перехватчиками, проверками работоспособности и многими внутренними службами. Через порт 80 клиент подключается через TCP, отправляет HTTP-запрос и получает заголовки и тело ответа без предварительного подтверждения TLS.
Поскольку трафик не шифруется, любой, кто может наблюдать за сетевым путем, может видеть URL-адреса, файлы cookie, заголовки, данные форм и содержимое ответов, если приложение не добавит собственную защиту. Для общедоступных веб-сайтов и приложений, прошедших проверку подлинности, порт 80 обычно должен перенаправляться на HTTPS, а не напрямую обслуживать частный контент.
HTTP-порт 80 и HTTPS-порт 443
Порт 80 — это обычный HTTP. Порт 443 — это HTTPS, что означает, что HTTP передается внутри сеанса, зашифрованного TLS. Пользовательский интерфейс может выглядеть аналогично в браузере, но модель безопасности другая: HTTPS проверяет сертификат сервера и шифрует передаваемый трафик.
Большинство производственных площадок используют оба порта одновременно. Порт 80 принимает старые ссылки, запросы сертификатов и первые запросы браузера, а затем отправляет перенаправление 301 или 308 на URL-адрес HTTPS на 443. После этого HSTS может автоматически указать браузерам предпочитать HTTPS.
Когда следует оставлять порт 80 открытым
Держите порт 80 открытым, когда вам нужны перенаправления HTTP-to-HTTPS, задачи Let’s Encrypt HTTP-01, проверки работоспособности балансировщика нагрузки, проверки происхождения CDN, простые конечные точки внутреннего состояния или совместимость со старыми системами, которые не могут запускаться напрямую по HTTPS.
Закройте или ограничьте порт 80, если служба является частной, когда все клиенты контролируются и могут использовать HTTPS напрямую, или когда простой HTTP создает ненужную уязвимость. Если вы оставляете его открытым, сохраняйте узкое и предсказуемое поведение: перенаправление, запрос или проверка работоспособности, а не полный доступ к приложению.
Перед открытием порта 80
Прежде чем открывать TCP 80, убедитесь, что предполагаемый веб-сервер, обратный прокси-сервер, входящий контроллер, источник CDN или балансировщик нагрузки прослушивают правильный интерфейс. Решите, должен ли порт 80 обслуживать контент, перенаправляться на 443, отвечать на проверки работоспособности или отвечать только на пути проверки сертификата.
Средство проверки портов подтверждает доступность сети, но не сообщает, правильна ли ваша цепочка перенаправления, заголовки кэша, маршрутизация виртуального хоста или автоматизация сертификатов. Проверьте путь TCP и поведение HTTP с помощью журналов браузера, Curl и сервера.
Как открыть порт 80 в Windows, Linux и macOS
На Windows Server запустите IIS, Nginx, Apache, Caddy или другой веб-сервер, привяжите сайт к TCP 80 и разрешите входящий HTTP-трафик в брандмауэре Защитника Windows. Облачным серверам также необходимы соответствующие правила облачного брандмауэра или группы безопасности.
В Linux настройте Nginx, Apache, Caddy, публикацию порта контейнера или входной контроллер для прослушивания 80, затем разрешите TCP 80 в ufw, firewalld, nftables, iptables или брандмауэре провайдера. Контейнеры и службы Kubernetes должны публиковать или маршрутизировать порт на хосте, балансировщике нагрузки или входном уровне.
В macOS порт 80 чаще всего используется для локальной разработки или лабораторных служб. Привилегированные порты могут требовать повышенных разрешений, а правила локального брандмауэра или маршрутизатора по-прежнему определяют, могут ли другие машины получить доступ к службе.
- Уровень обслуживания: веб-сервер, обратный прокси-сервер, балансировщик нагрузки, контейнер или контроллер входящего трафика должны прослушивать TCP 80.
- Сетевой уровень: межсетевые экраны хостов, группы безопасности облака, NAT маршрутизатора, правила CDN и балансировщики нагрузки должны правильно маршрутизировать трафик.
- Уровень HTTP: виртуальные хосты, перенаправления, пути проверки работоспособности, заголовки кэша и пути вызова ACME должны соответствовать предполагаемому поведению.
- Уровень безопасности: избегайте использования страниц входа, файлов cookie, токенов API или частного контента по простому HTTP.
Как проверить порт 80
Начните с проверки внешнего порта по общедоступному имени хоста или IP-адресу и порту 80. Если результат открыт, удаленные клиенты могут установить TCP-соединение. Затем запустите Curl -I http://example.com, чтобы проверить коды состояния, перенаправления, заголовки сервера и поведение кэша.
На сервере проверьте прослушиватели с помощью ss -tlnp, netstat, lsof или PowerShell. Для обратных прокси-серверов и развертываний в облаке сравните правила брандмауэра узла, группы безопасности облака, прослушиватели балансировщика нагрузки, сопоставления портов контейнера и журналы приложений, поскольку любой уровень может блокировать или неправильно маршрутизировать HTTP.
Общие случаи устранения неполадок порта 80
Если порт 80 отображается закрытым, возможно, веб-сервер остановлен, прослушивает только локальный хост, использует другой порт или заблокирован брандмауэром хоста. Если время ожидания истекло, пакеты могут быть отброшены облачным брандмауэром, правилом NAT маршрутизатора, фильтром интернет-провайдера, настройкой CDN или политикой безопасности восходящего потока.
Если порт 80 открыт, но страница неверна, проверьте порядок виртуальных хостов, маршрутизацию заголовка хоста, блоки серверов по умолчанию, восходящие прокси-серверы, сопоставления контейнеров и записи DNS. Если происходит цикл перенаправления, сравните виртуальные хосты HTTP и HTTPS и убедитесь, что прокси-сервер правильно передает исходную схему.
Контрольный список безопасности для HTTP
Используйте порт 80 намеренно. Перенаправляйте трафик приложений на HTTPS, избегайте использования учетных данных и конфиденциальных данных по простому HTTP и оставляйте только те конечные точки, которые должны оставаться доступными. Для общедоступных сайтов свяжите перенаправление с действительными сертификатами на 443 и HSTS после того, как вы убедитесь, что HTTPS стабилен.
Регистрируйте запросы на порт 80, отслеживайте неожиданные пути и удаляйте устаревшие конечные точки, которым больше не нужен простой HTTP. Если порт 80 предназначен только для ACME или проверок работоспособности, ограничьте ответы этими путями, чтобы облегчить анализ и мониторинг службы.
Частые вопросы
Для чего используется порт 80?
Порт 80 является TCP-портом по умолчанию для HTTP. Он обычно используется для перенаправления HTTP-to-HTTPS, задач проверки сертификатов, проверок работоспособности и устаревших веб-клиентов.
Должен ли быть открыт порт 80?
Для общедоступных веб-сайтов порт 80 обычно остается открытым, чтобы старые ссылки и первые запросы браузера могли перенаправляться на HTTPS. Для частных услуг закройте или ограничьте их, если нет явной оперативной необходимости.
Защищен ли HTTP на порту 80?
Нет. Обычный HTTP не шифрует трафик и не проверяет сервер с помощью сертификата. Используйте HTTPS на порту 443 для аутентифицированных сеансов, форм, файлов cookie, API и частного контента.
Почему порт 80 открыт, но мой сайт по-прежнему не работает?
TCP-порт доступен при нарушенной маршрутизации HTTP. Проверьте DNS, виртуальные хосты, перенаправления, правила обратного прокси-сервера, сопоставления портов контейнера, прослушиватели балансировки нагрузки и журналы приложений.