Справочник

Порты 80 и 443: на них работает сайт

Когда посетитель открывает сайт, браузер подключается к порту 80 для адреса http:// или к порту 443 для https://. Чтобы сайт на VPS открывался, веб-сервер должен слушать оба порта, а фаервол — пропускать к ним подключения.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 7

Зачем нужны оба порта

Порт 443 — для защищённых адресов https://, по нему и работает сайт. Порт 80 тоже нужен: на него приходят посетители, которые набрали адрес без https, и веб-сервер перенаправляет их на защищённую версию.

Через порт 80 проверяет домен и Let's Encrypt, когда Certbot получает сертификат с проверкой через HTTP. Если порт 80 закрыт, сертификат не выпустится — разбор ошибки.

Номер порта в адресе сайта не пишут: браузер подставляет его сам. Адрес https://example.com:443/ — то же самое, что https://example.com/.

Как проверить, что веб-сервер слушает порты

Команды для сервера вводятся после подключения к нему по SSH (как подключиться). Введите:

sudo ss -tlnp | grep -e ':80 ' -e ':443 '

Пример строки ответа:

LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=1234,fd=6))

Здесь порт 80 слушает nginx. Если строки с :443 нет, у сайта ещё нет сертификата или в настройках сайта не включён https. Если ответ пустой, веб-сервер не запущен. Проверьте его состояние:

systemctl status nginx

Чтобы вернуться к вводу команд, нажмите клавишу Q. Если служба не запускается, разбор — в статье Job for nginx.service failed.

Как открыть порты 80 и 443

sudo ufw allow 'Nginx Full'

Nginx Full — готовый набор правил из пакета nginx в Ubuntu: он открывает порты 80 и 443 по TCP. Если у вас другой веб-сервер, откройте порты по номерам:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Проверьте правила командой sudo ufw status: в списке должны быть Nginx Full или 80/tcp и 443/tcp. У части провайдеров есть ещё фаервол в панели управления — откройте порты и там. По шагам — в инструкции Как открыть порт на VPS.

Если программа сайта слушает другой порт

Сайт на Node.js или Python может работать, например, на порту 3000. Открывать этот порт наружу не нужно: посетители приходят на 80 и 443, а nginx передаёт их запросы программе внутри сервера. Программе тогда достаточно слушать адрес 127.0.0.1.

Если открыть сайт по адресу с номером порта, например http://example.com:6000, браузер может отказаться: часть номеров он считает небезопасными — разбор ERR_UNSAFE_PORT.

Ошибки и как их исправить

ОшибкаЧто случилосьРазбор
ERR_CONNECTION_REFUSEDНа порту 80 или 443 никто не слушаетРазбор
ERR_CONNECTION_TIMED_OUTПодключение не дошло: порт закрыт фаерволом или сервер недоступенРазбор
Address already in use у nginxПорт 80 или 443 занят другой программойРазбор
Could not bind TCP port у CertbotCertbot не может занять порт 80Разбор
Timeout during connect у CertbotLet's Encrypt не достучался до порта 80Разбор

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026