Порты 80 и 443: на них работает сайт
Когда посетитель открывает сайт, браузер подключается к порту 80 для адреса http:// или к порту 443 для https://. Чтобы сайт на VPS открывался, веб-сервер должен слушать оба порта, а фаервол — пропускать к ним подключения.
Содержание 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 у Certbot | Certbot не может занять порт 80 | Разбор |
Timeout during connect у Certbot | Let's Encrypt не достучался до порта 80 | Разбор |
Источники
- RFC 9110, раздел 4.2 — для адресов http:// порт по умолчанию 80, для https:// — 443.
- Профили ufw из пакета nginx в Ubuntu 24.04 — Nginx HTTP, Nginx HTTPS и Nginx Full.
- Справка ufw для Ubuntu 24.04 — команды allow, deny, reject, limit, delete и status numbered.
- Справка ss для Ubuntu 24.04 — ключи -t, -u, -l, -n и -p.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026