Порт 443: за что отвечает, как проверить и открыть

Через порт 443 браузер подключается к сайтам по HTTPS, через 80 идёт обычный HTTP.

Разбираем, чем отличаются 443/TCP, 443/UDP и 8443, как проверить порт командами curl, nc и Test-NetConnection, что настроить в nginx и файрволе и почему порт 80 закрывать не стоит.

Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 2924 статьи автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3578 экспертных мнений Подписаться на Телеграм-канал
Обложка: Порт 443: за что отвечает, как проверить и открыть

Порт 443 отвечает за HTTPS: через него браузер устанавливает зашифрованное соединение с сайтом. Если в адресе написано https:// и номер порта не указан, браузер идёт на TCP-порт 443, а для http:// по умолчанию берётся порт 80. Так записано в стандарте HTTP RFC 9110. Проверить, открыт ли 443, можно одной командой: curl -v https://сайт/ или Test-NetConnection сайт -Port 443 в Windows.

Ниже разберём, чем порт 443 отличается от 80 и 8443, как его проверить и открыть на сервере и почему 80 закрывать не стоит. Если путаетесь в самих протоколах, начните с обзора сетевых протоколов простыми словами: там видно, где HTTP и TLS стоят относительно TCP.

За что отвечает порт 443 и чем он отличается от порта 80

Рой-сисадмин проверяет защищённое соединение с сайтом

По номеру порта операционная система понимает, какой программе отдать входящее соединение. На одном сервере с одним IP-адресом веб-сервер слушает 80 и 443, почтовый сервер слушает 25, 465, 587 и 993, SSH работает на 22, и пакеты не путаются.

Номера от 0 до 1023 называются системными, их закрепляет организация IANA. Диапазон 1024–49151 отведён под зарегистрированные порты, а 49152–65535 отданы динамическим, которые система раздаёт исходящим соединениям сама. Деление описано в RFC 6335, а актуальные записи лежат в реестре портов IANA.

Порт Имя в реестре IANA Что по нему идёт Шифрование
80/TCP http обычный HTTP, на современных сайтах обычно только редирект на HTTPS нет
443/TCP https HTTPS: HTTP/1.1 и HTTP/2 поверх TLS да
443/UDP https HTTP/3 поверх QUIC да, TLS 1.3 встроен в QUIC
8080/TCP http-alt запасной HTTP: тестовые серверы, Tomcat, прокси нет
8443/TCP pcsync-https в реестре закреплён за другой службой, на практике это запасной HTTPS для панелей и админок обычно да

Порты 80 и 443 отличаются тем, что происходит после подключения. На 80 клиент сразу отправляет запрос открытым текстом. На 443 сначала идёт TLS-рукопожатие: сервер показывает сертификат, стороны договариваются о ключах, и только потом внутри шифрованного канала уходит HTTP-запрос.

Ещё одна деталь из стандарта: http://site.ru/ и https://site.ru/ считаются разными источниками (origin) со своими пространствами имён. Для браузера это два разных сайта, поэтому кеш, localStorage и права доступа у них раздельные. Исключение составляют cookie: по RFC 6265 они не разделяются по схеме, и cookie, выставленная на http://, уходит и на https:// того же домена.

Когда номер порта пишут в адресе

Стандартный порт браузер подставляет сам, поэтому в адресной строке его не видно. Адреса https://checkroi.ru/ и https://checkroi.ru:443/ ведут в одно и то же место. Номер появляется в адресе только тогда, когда сервис висит на нестандартном порту: http://localhost:8080/ у локального сервера разработчика, https://панель.site.ru:8443/ у админки хостинга.

  • https://site.ru/: браузер идёт на 443/TCP;
  • http://site.ru/: на 80/TCP;
  • https://site.ru:80/: браузер начнёт TLS-рукопожатие на 80, сервер ответит обычным HTTP, и соединение оборвётся с ошибкой протокола.

Последний случай встречается в конфигурациях чаще, чем кажется: прописали в приложении схему https и порт 80 и получили непонятную ошибку SSL вместо страницы.

Почему 443 бывает и TCP, и UDP

Классический HTTPS работает поверх TCP. HTTP/3 переехал на QUIC, а QUIC работает поверх UDP, поэтому браузеры с поддержкой HTTP/3 стучатся на 443/UDP. Сервер сообщает о такой возможности заголовком Alt-Svc, а если UDP где-то режется, клиент по RFC 9114 следует вернуться к HTTP поверх TCP.

Если в файрволе открыт только 443/TCP, сайт работать будет, просто без HTTP/3. Открывать 443/UDP стоит тогда, когда веб-сервер настроен на QUIC.

Как проверить, открыт ли порт 443

Рой радуется, что команда в терминале показала открытый порт

Проверок две, и их часто путают. Первая показывает, доходит ли соединение до сервера снаружи. Вторая показывает, какая программа на сервере слушает порт. Если сайт не открывается, начните с первой.

Снаружи: curl, nc и openssl на Linux и macOS

Для одиночной проверки ничего ставить не нужно: curl и nc есть в macOS и почти во всех дистрибутивах Linux. Больше всего показывает curl -v. Он показывает и подключение к порту, и TLS, и сертификат. Вот реальный вывод для нашего сайта, сокращённый до нужных строк (macOS, curl 8.7.1):

$ curl -sv -o /dev/null https://checkroi.ru/
* Connected to checkroi.ru (5.253.61.149) port 443
* ALPN: curl offers h2,http/1.1
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN: server accepted h2
*  subject: CN=checkroi.ru
*  expire date: Dec 27 23:30:00 2026 GMT
*  issuer: C=US; O=Let's Encrypt; CN=YR2

Строка Connected … port 443 значит, что порт открыт. Дальше видно версию TLS, протокол HTTP/2 (h2) и срок сертификата. Если нужно проверить только сам порт, без TLS, хватит nc:

$ nc -vz checkroi.ru 443
Connection to checkroi.ru port 443 [tcp/https] succeeded!
$ nc -vz checkroi.ru 8443
nc: connectx to checkroi.ru port 8443 (tcp) failed: Connection refused

Ответ Connection refused пришёл быстро: хост доступен, но на этом порту никто не слушает. Если же команда висит и падает по таймауту, пакеты где-то отбрасываются, чаще всего файрволом. Разницу между «отказом» и «таймаутом» любят спрашивать на собеседовании системного администратора: по ней понятно, где искать проблему. Сертификат отдельно удобно смотреть через openssl s_client -connect сайт:443 -servername сайт: строка Verify return code: 0 (ok) означает, что цепочка сертификатов в порядке.

Для проверки десятков портов разом есть сканер, ему посвящена отдельная инструкция по командам Nmap с примерами вывода.

CheckroiCheckroiПодборка курсов по Linux158 курсов • 30 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Снаружи: PowerShell в Windows

В Windows есть командлет Test-NetConnection из модуля NetTCPIP. Порт задаётся параметром -Port:

Test-NetConnection -ComputerName checkroi.ru -Port 443

В выводе смотрите на строку TcpTestSucceeded. True значит, что порт отвечает, False значит, что нет. С ключом -InformationLevel Quiet командлет вернёт только True или False, это удобно в скриптах. Синтаксис и примеры есть в справке Microsoft по Test-NetConnection.

Без параметра -Port тот же командлет делает обычный пинг и показывает время отклика. Порт при этом не проверяется: сервер может отвечать на пинг и при закрытом 443, и наоборот. Если сайт открывается, но медленно и с рывками, смотреть надо на задержку и разброс пинга.

На сервере: какая программа занимает порт

  • Linux: sudo ss -tlnp | grep ':443'. Без sudo имя процесса не покажется.
  • Windows: netstat -ano | findstr :443, затем номер из последнего столбца (PID) ищите в диспетчере задач на вкладке «Подробности».
  • macOS: sudo lsof -nP -iTCP:443 -sTCP:LISTEN.

На сервере с nginx строка выглядит так (номера процессов убраны):

LISTEN 0  511  5.253.61.149:443  0.0.0.0:*  users:(("nginx",pid=…,fd=…))

Обратите внимание на адрес слева от порта. При 0.0.0.0:443 порт слушается на всех интерфейсах. При 127.0.0.1:443 только локально, и снаружи до него не достучаться при любых настройках файрвола. Больше о ss, grep и правах sudo написано в подборке основных команд Linux, а системно командную строку разбирают на курсах по Linux.

CheckroiCheckroiПодборка курсов для системных администраторов131 курс • 31 школаСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→ Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединиться

Что нужно, чтобы открыть 443 на сервере

«Открыть порт» на практике значит проверить цепочку из четырёх звеньев. Закрытым может оказаться любое.

  1. Веб-сервер слушает порт. В nginx это строка listen 443 ssl; в блоке server, рядом пути к сертификату и ключу: ssl_certificate и ssl_certificate_key. Образец конфигурации есть в документации nginx по HTTPS-серверам. После правки выполните sudo nginx -t и перезагрузите nginx. Настройку веб-сервера от простого сайта до балансировщика разбирают на курсах по nginx.
  2. Есть сертификат на нужное имя. Бесплатный выпускает Let’s Encrypt, платный продают удостоверяющие центры. Без сертификата порт откроется, но браузер покажет ошибку.
  3. Файрвол системы пропускает трафик. В Ubuntu это ufw: sudo ufw allow 443/tcp, при HTTP/3 ещё sudo ufw allow 443/udp. По документации Ubuntu ufw изначально выключен. В Windows Server правило создаёт New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow.
  4. Сеть провайдера или облака пропускает трафик. У облачных серверов есть группы безопасности в панели, у домашнего сервера есть роутер, где нужен проброс 443 на внутренний адрес машины. В компаниях за этот участок обычно отвечает сетевой инженер, и заявку на открытие порта пишут ему.

Решение: идите по списку сверху вниз и после каждого шага повторяйте проверку снаружи через curl -v или nc -vz. Так сразу видно, на каком звене соединение обрывается.

Включаете ufw на удалённом сервере? Сначала разрешите SSH (sudo ufw allow 22/tcp или ваш нестандартный порт), потом sudo ufw enable. Иначе файрвол закроет и ваш текущий сеанс.

CheckroiCheckroiПодборка курсов по сетевому администрированию38 курсов • 18 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Нужно ли держать открытым порт 80

Да, если на сервере сайт. Это прямая рекомендация Let’s Encrypt в статье «держите 80 порт открытым». Причины две.

  • Выпуск сертификата. Проверка HTTP-01, которой пользуется большинство клиентов Let’s Encrypt, ходит именно на 80. Закроете его, и продление сертификата сломается. Обойтись без 80 можно через проверку DNS-01 или TLS-ALPN-01, которая работает на 443.
  • Люди и ссылки. Домен без https:// в адресной строке, старые ссылки в письмах и на чужих сайтах ведут на 80. Если порт закрыт, человек увидит ошибку соединения вместо сайта.

По словам Let’s Encrypt, открытый 80 не добавляет векторов атаки: на нём отвечает тот же веб-сервер, что и на 443. Правильная схема: принимать запрос на 80 и сразу отправлять постоянный редирект на HTTPS. У нас это выглядит так:

$ curl -sI http://checkroi.ru/
HTTP/1.1 301 Moved Permanently
Server: nginx
Location: https://checkroi.ru/

В nginx такой редирект занимает одну строку в блоке для 80: return 301 https://$host$request_uri;. Чтобы браузер больше не заходил на 80 даже на первом шаге, на 443 добавляют заголовок HSTS. Как самому смотреть, какой код вернул сервер, разобрано в инструкции про коды ответов сервера.

Частые ошибки с портами 80 и 443

Серверная стойка с промаркированными сетевыми кабелями
Симптом Причина Что делать
Connection refused на 443 веб-сервер не слушает порт или упал проверить ss -tlnp, есть ли listen 443 ssl, запустить nginx
Подключение висит и падает по таймауту пакеты режет файрвол системы, облака или роутер пройти четыре точки из раздела выше
Порт открыт, но браузер ругается на сертификат сертификат выписан на другое имя, просрочен или нет промежуточного openssl s_client … -servername, смотреть subject и срок
nginx не стартует: address already in use 443 занят другой программой, например Apache или Skype на старой Windows найти процесс через ss, netstat -ano или lsof и перенести его
Сайт открывается с сервера, но не снаружи сервис слушает только 127.0.0.1 поменять адрес в listen на внешний или 0.0.0.0
Перестал продлеваться сертификат закрыли 80 «для безопасности» открыть 80 и оставить на нём редирект

Отдельная ловушка связана с портом 8443. Его выбирают для админок, чтобы не занимать 443. Но в корпоративных и гостевых сетях нестандартные порты часто закрыты на выходе, и у части пользователей панель просто не откроется. Если сервис публичный, надёжнее повесить его на 443 с отдельным поддоменом.

Ещё одна путаница: CDN. Если сайт стоит за сетью доставки контента, клиент подключается к 443 на серверах CDN, до вашего сервера доходит уже CDN. Проверка снаружи покажет открытый порт, даже когда ваш сервер лежит, поэтому origin проверяйте по его собственному IP.

Где освоить сетевое администрирование системно

Открыть один порт можно по инструкции. Настройка сети целиком, с файрволами, балансировщиками, сертификатами и мониторингом, уже работа системного администратора или сетевого инженера. Путь в профессию по шагам расписан в статье как стать системным администратором, а курсы с практикой на Linux и сетях — в каталоге по сетевому администрированию.

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Профессия «Системный администратор»
Перейти на сайт курса
НетологияНетология76 700 ₽5125 ₽/мес.11 месяцевОбзор курса
Системный администратор
Перейти на сайт курса
GeekBrainsGeekBrains99 500 ₽2764 ₽/мес.7 месяцевОбзор курса
Системный администратор (Бакалавриат)
Перейти на сайт курса
Университет СинергияУниверситет Синергия73 333 ₽ - 3 годаОбзор курса
Онлайн-курс Системный администратор
Перейти на сайт курса
БруноямБруноям65 900 ₽5491 ₽/мес.6 месяцевОбзор курса
Системный администратор + ИИ
Перейти на сайт курса
Институт профессиональных квалификаций (ИПК)ИПК30 450 ₽3171 ₽/мес.260 часовОбзор курса

Больше программ — в полном каталоге курсов для системных администраторов

Часто задаваемые вопросы

За что отвечает порт 443?

Порт 443 принимает HTTPS, то есть зашифрованные соединения с сайтами. По TCP через него идут HTTP/1.1 и HTTP/2 поверх TLS, по UDP работает HTTP/3. Если в адресе https:// порт не указан, браузер подключается именно к 443.

Какой порт у HTTP, а какой у HTTPS?

У HTTP по умолчанию порт 80, у HTTPS порт 443, так записано в стандарте RFC 9110. Порты 8080 и 8443 используют как запасные: первый для обычного HTTP, второй чаще всего для HTTPS-админок и панелей.

Как проверить, открыт ли порт 443?

В Linux и macOS выполните curl -v https://сайт/ или nc -vz сайт 443: строка Connected или succeeded значит, что порт открыт. В Windows подойдёт Test-NetConnection сайт -Port 443, смотрите на поле TcpTestSucceeded.

Можно ли закрыть порт 80, если сайт работает по HTTPS?

Лучше не закрывать. Через 80 проходит проверка HTTP-01 при выпуске сертификата Let's Encrypt, а люди со старыми ссылками на http:// увидят ошибку вместо сайта. На 80 достаточно оставить постоянный редирект 301 на HTTPS.

Для чего используется порт 8443?

В реестре IANA он закреплён за службой pcsync-https, но на практике это запасной HTTPS для панелей управления и админок. В корпоративных и гостевых сетях нестандартные порты часто закрыты, поэтому публичный сервис надёжнее держать на 443.

Что значит Connection refused при подключении к 443?

Сервер доступен, но на порту 443 никакая программа не слушает: веб-сервер не запущен или не настроен на HTTPS. Если же подключение висит и падает по таймауту, пакеты режет файрвол системы, облака или роутера.

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!