Port 443 Not Open: почему порт 443 закрыт и как исправить

Акция Оценка0
Акция Оценка0

Port 443 Not Open означает, что HTTPS-порт 443 закрыт, заблокирован или недоступен извне. Из-за этого сайт может не открываться по HTTPS, показывать ошибку соединения, SSL-ошибку, таймаут или сообщение о недоступности сервера.

Чаще всего проблема связана с firewall, настройками хостинга, Nginx, Apache, SSL-сертификатом, Cloudflare, DNS или тем, что веб-сервер вообще не слушает порт 443.

Quick Fix

  • Проверьте, слушает ли сервер порт 443: sudo ss -tulpn | grep :443
  • Проверьте статус веб-сервера: sudo systemctl status nginx или sudo systemctl status apache2
  • Откройте порт 443 в firewall: sudo ufw allow 443/tcp
  • Проверьте правила firewall: sudo ufw status
  • Проверьте SSL-конфигурацию сайта.
  • Проверьте, есть ли блок listen 443 ssl; в Nginx или <VirtualHost *:443> в Apache.
  • Если сайт за Cloudflare, проверьте SSL/TLS mode и DNS-запись.
  • После изменений перезапустите веб-сервер.

Что означает Port 443 Not Open

Port 443 Not Open означает, что сервер не принимает HTTPS-соединения на порту 443. Этот порт используется для защищённого доступа к сайтам через HTTPS.

Если порт 443 закрыт, браузер не может установить безопасное соединение с сайтом. В результате пользователь может увидеть ошибку вроде:

  • This site can’t be reached
  • Connection timed out
  • ERR_CONNECTION_TIMED_OUT
  • ERR_CONNECTION_REFUSED
  • SSL_ERROR_SYSCALL
  • Secure connection failed
  • Cloudflare 522
  • Cloudflare 525
  • Cloudflare 526

Важно понимать: закрытый порт 443 — это не всегда проблема SSL-сертификата. Иногда сертификат полностью рабочий, но сервер, firewall или хостинг не пропускает HTTPS-трафик.

Почему порт 443 может быть закрыт

1. Веб-сервер не слушает порт 443

Самая частая причина — Nginx или Apache настроен только на порт 80, но не настроен на HTTPS.

Например, в Nginx есть только:

listen 80;

Но нет:

listen 443 ssl;

В этом случае сайт может открываться по HTTP, но не будет открываться по HTTPS.

2. Firewall блокирует порт 443

Даже если веб-сервер настроен правильно, firewall может блокировать входящие подключения.

Это может быть:

  • UFW на Ubuntu/Debian;
  • firewalld на CentOS/AlmaLinux/Rocky Linux;
  • iptables;
  • панель безопасности хостинга;
  • облачный firewall у VPS-провайдера;
  • security group в AWS, Google Cloud, Azure или DigitalOcean.

3. SSL-сертификат не установлен

Некоторые конфигурации Nginx или Apache не запускают HTTPS-блок, если SSL-сертификат отсутствует или путь к нему указан неправильно.

Частые проблемы:

  • сертификат не выпущен;
  • сертификат удалён;
  • сертификат истёк;
  • указан неправильный путь к fullchain.pem;
  • указан неправильный путь к privkey.pem;
  • сертификат выпущен для другого домена.

4. Apache или Nginx не запущен

Если веб-сервер остановлен, порт 443 не будет открыт. Это часто случается после ошибки в конфигурации, обновления сервера или перезапуска VPS.

Проверьте Nginx:

sudo systemctl status nginx

Проверьте Apache:

sudo systemctl status apache2

На CentOS/AlmaLinux/Rocky Linux Apache может называться httpd:

sudo systemctl status httpd

5. Конфликт между Apache и Nginx

Если на сервере одновременно установлены Apache и Nginx, один из них может занимать порт 443. Второй сервер не сможет запуститься или не сможет принять HTTPS-трафик.

Проверить, кто использует порт 443, можно так:

sudo lsof -i :443

Или:

sudo ss -tulpn | grep :443

6. Порт закрыт на стороне хостинга

На некоторых VPS и облачных серверах порты нужно открывать не только в Linux, но и в панели провайдера.

Например, порт 443 может быть закрыт в:

  • Cloud firewall;
  • Security Groups;
  • Network Rules;
  • VPS firewall;
  • панели управления хостингом.

7. Ошибка DNS или Cloudflare

Иногда кажется, что порт 443 закрыт, хотя проблема в DNS или Cloudflare.

Например:

  • домен указывает на неправильный IP;
  • DNS-запись устарела;
  • Cloudflare проксирует не тот сервер;
  • SSL/TLS mode в Cloudflare выбран неправильно;
  • на origin-сервере нет валидного SSL;
  • сервер блокирует IP-адреса Cloudflare.

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

1. Проверьте порт на самом сервере

Подключитесь к серверу по SSH и выполните:

sudo ss -tulpn | grep :443

Если порт слушается, вы увидите примерно такой результат:

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

Это значит, что Nginx слушает порт 443.

Если команда ничего не показывает, веб-сервер не слушает HTTPS-порт.

2. Проверьте порт через lsof

sudo lsof -i :443

Если порт открыт, вы увидите процесс, который его использует. Например:

nginx 1234 root 6u IPv4 TCP *:https (LISTEN)

3. Проверьте подключение локально

На сервере выполните:

curl -I https://localhost

Если HTTPS работает локально, сервер должен вернуть HTTP-заголовки.

Если локально работает, но снаружи сайт не открывается, проблема почти наверняка в firewall, провайдере, Cloudflare или DNS.

4. Проверьте внешний доступ

С другого компьютера можно проверить:

curl -I https://example.com

Или:

nc -vz example.com 443

Если порт открыт, результат будет похож на:

Connection to example.com 443 port [tcp/https] succeeded!

Если порт закрыт, вы увидите отказ или таймаут.

Как исправить Port 443 Not Open

1. Откройте порт 443 в UFW

На Ubuntu/Debian часто используется UFW. Проверьте его статус:

sudo ufw status

Если порт 443 не разрешён, откройте его:

sudo ufw allow 443/tcp

Также лучше открыть HTTP:

sudo ufw allow 80/tcp

Если используется профиль Apache:

sudo ufw allow 'Apache Full'

Если используется профиль Nginx:

sudo ufw allow 'Nginx Full'

После этого снова проверьте:

sudo ufw status

2. Откройте порт 443 в firewalld

На CentOS, AlmaLinux, Rocky Linux и Fedora часто используется firewalld.

Откройте HTTPS:

sudo firewall-cmd --permanent --add-service=https

И HTTP:

sudo firewall-cmd --permanent --add-service=http

Перезагрузите правила:

sudo firewall-cmd --reload

Проверьте:

sudo firewall-cmd --list-all

3. Настройте Nginx для HTTPS

В Nginx должен быть блок с портом 443 и SSL-сертификатом.

Пример:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.php index.html;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
}

Также нужен редирект с HTTP на HTTPS:

server {
    listen 80;
    server_name example.com www.example.com;

    return 301 https://$host$request_uri;
}

После изменений проверьте конфигурацию:

sudo nginx -t

Если тест успешный, примените изменения:

sudo systemctl reload nginx

4. Настройте Apache для HTTPS

В Apache должен быть VirtualHost для порта 443:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/public_html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    <Directory /var/www/example.com/public_html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Включите SSL-модуль:

sudo a2enmod ssl

Проверьте конфигурацию:

sudo apachectl configtest

Если всё хорошо:

sudo systemctl reload apache2

5. Проверьте файл ports.conf в Apache

На Ubuntu/Debian Apache слушает порты через файл:

/etc/apache2/ports.conf

Откройте его:

sudo nano /etc/apache2/ports.conf

Проверьте, есть ли строка:

Listen 443

Если её нет, добавьте:

Listen 443

Затем проверьте конфигурацию и перезапустите Apache.

6. Выпустите SSL-сертификат Let’s Encrypt

Если HTTPS-блок есть, но сертификата нет, выпустите сертификат.

Для Nginx:

sudo certbot --nginx -d example.com -d www.example.com

Для Apache:

sudo certbot --apache -d example.com -d www.example.com

После выпуска сертификата проверьте:

sudo nginx -t

Или для Apache:

sudo apachectl configtest

7. Проверьте, не занят ли порт другим сервисом

Если Nginx или Apache не может запустить HTTPS, проверьте порт:

sudo lsof -i :443

Если порт занимает другой процесс, решите, какой веб-сервер должен работать.

Например, если порт занимает Nginx, а вы хотите использовать Apache:

sudo systemctl stop nginx
sudo systemctl disable nginx
sudo systemctl restart apache2

Если наоборот нужен Nginx:

sudo systemctl stop apache2
sudo systemctl disable apache2
sudo systemctl restart nginx

8. Откройте порт 443 в панели VPS-провайдера

Если на сервере порт открыт, но снаружи он всё равно недоступен, проверьте firewall в панели провайдера.

Ищите разделы:

  • Firewall;
  • Network;
  • Security Groups;
  • Cloud Firewall;
  • Inbound Rules;
  • Access Rules.

Нужно разрешить входящий TCP-трафик:

Port: 443
Protocol: TCP
Source: 0.0.0.0/0

Для IPv6 также можно разрешить:

Source: ::/0

9. Проверьте DNS-записи

Если домен указывает не на тот сервер, вы можете открывать порт 443 на одном VPS, а запросы будут уходить на другой IP.

Проверьте A-запись:

dig example.com A

Проверьте AAAA-запись:

dig example.com AAAA

Если IPv6-запись AAAA указывает на сервер, где HTTPS не настроен, сайт может не открываться у части пользователей. В таком случае настройте HTTPS для IPv6 или временно удалите неправильную AAAA-запись.

10. Проверьте Cloudflare

Если сайт подключён через Cloudflare, проверьте несколько вещей.

В DNS-записи домена должен быть правильный IP сервера. Если включено оранжевое облако, пользователь подключается к Cloudflare, а Cloudflare уже подключается к вашему серверу.

Проверьте в Cloudflare:

  • DNS — A-запись должна указывать на правильный IP.
  • SSL/TLS — лучше использовать режим Full или Full (strict).
  • Origin Server — на сервере должен быть SSL-сертификат.
  • Firewall — сервер не должен блокировать IP Cloudflare.

Если на origin-сервере порт 443 закрыт, Cloudflare может показывать ошибки 522, 525 или 526.

Advanced Troubleshooting

Порт 443 открыт локально, но закрыт снаружи

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

sudo ss -tulpn | grep :443

Но внешний тест показывает, что порт закрыт, причина обычно одна из этих:

  • UFW/firewalld блокирует входящие соединения;
  • порт закрыт в панели VPS;
  • домен указывает на другой IP;
  • Cloudflare направляет трафик не туда;
  • провайдер блокирует порт;
  • сервер слушает только 127.0.0.1:443, а не внешний интерфейс.

Проверьте, на каком адресе слушает порт:

sudo ss -tulpn | grep :443

Нужно, чтобы было что-то вроде:

0.0.0.0:443
[::]:443

Если сервер слушает только:

127.0.0.1:443

то снаружи подключиться не получится.

Порт 443 открыт, но HTTPS всё равно не работает

Если порт открыт, но браузер показывает SSL-ошибку, проблема уже не в доступности порта, а в сертификате или HTTPS-конфигурации.

Проверьте:

  • выдан ли сертификат именно для этого домена;
  • не истёк ли сертификат;
  • правильно ли указан fullchain.pem;
  • правильно ли указан privkey.pem;
  • совпадает ли домен с server_name;
  • нет ли конфликта между несколькими VirtualHost/server blocks.

Port 443 Not Open после перезагрузки сервера

Если после reboot порт 443 закрывается, проверьте автозапуск веб-сервера:

sudo systemctl enable nginx

Или для Apache:

sudo systemctl enable apache2

Также проверьте, не падает ли веб-сервер из-за ошибки конфигурации:

sudo nginx -t

Или:

sudo apachectl configtest

Port 443 Not Open на WordPress-сайте

Если WordPress открывается по HTTP, но не открывается по HTTPS, проверьте:

  • установлен ли SSL-сертификат;
  • есть ли HTTPS-конфигурация в Nginx или Apache;
  • открыт ли порт 443;
  • правильно ли указан домен в настройках WordPress;
  • нет ли неправильного редиректа в .htaccess;
  • нет ли конфликта с Cloudflare Flexible SSL.

В WordPress также проверьте:

Настройки → Общие → Адрес WordPress (URL)
Настройки → Общие → Адрес сайта (URL)

Оба адреса должны начинаться с https://, если SSL уже настроен.

Частые ошибки и что они означают

ERR_CONNECTION_REFUSED

Сервер доступен, но не принимает соединение на порту 443. Часто причина — веб-сервер не слушает HTTPS или порт заблокирован.

ERR_CONNECTION_TIMED_OUT

Запрос к порту 443 не получает ответа. Обычно это firewall, закрытый порт у провайдера, неправильный IP или блокировка сети.

SSL_ERROR_SYSCALL

Соединение обрывается во время SSL-handshake. Причина может быть в неправильной SSL-конфигурации, reverse proxy или Cloudflare.

Cloudflare 522

Cloudflare не может подключиться к origin-серверу. Возможные причины: порт 443 закрыт, сервер не отвечает, firewall блокирует Cloudflare.

Cloudflare 525

Cloudflare не смог выполнить SSL-handshake с origin-сервером. Проверьте SSL-сертификат и HTTPS-конфигурацию на сервере.

Cloudflare 526

Cloudflare считает SSL-сертификат на origin-сервере недействительным. Это особенно важно при режиме Full (strict).

Как предотвратить проблему Port 443 Not Open

  • Всегда открывайте порты 80 и 443 после установки сервера.
  • Проверяйте firewall на сервере и в панели VPS.
  • После настройки SSL проверяйте, слушает ли сервер порт 443.
  • Не держите одновременно Apache и Nginx без понятной схемы.
  • Следите за сроком действия SSL-сертификата.
  • Проверяйте DNS после миграции сайта.
  • Не включайте Cloudflare до проверки HTTPS на origin-сервере.
  • После каждого изменения выполняйте nginx -t или apachectl configtest.

Когда обращаться в поддержку хостинга

Обратитесь в поддержку, если:

  • у вас нет SSH-доступа;
  • порт 443 открыт в Linux, но закрыт снаружи;
  • порт блокируется на уровне VPS-провайдера;
  • вы не можете найти cloud firewall;
  • SSL выдаётся через панель хостинга;
  • сайт работает за CDN, но origin-сервер недоступен;
  • после миграции домен указывает на правильный IP, но HTTPS не работает.

Перед обращением в поддержку подготовьте домен, IP сервера, скрин ошибки и результат команд ss -tulpn | grep :443, ufw status и статуса веб-сервера.

FAQ

Что значит Port 443 Not Open?

Это значит, что HTTPS-порт 443 закрыт или недоступен. Браузер не может установить защищённое соединение с сайтом по HTTPS.

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

На сервере используйте:

sudo ss -tulpn | grep :443

Снаружи можно проверить:

nc -vz example.com 443

Почему порт 443 закрыт, если SSL установлен?

SSL-сертификат сам по себе не открывает порт. Нужно, чтобы Nginx или Apache слушал порт 443, а firewall пропускал входящие HTTPS-подключения.

Как открыть порт 443 на Ubuntu?

Если используется UFW, выполните:

sudo ufw allow 443/tcp
sudo ufw reload

Также проверьте, что веб-сервер настроен на HTTPS.

Почему Cloudflare показывает ошибку, если порт 443 закрыт?

Cloudflare должен подключаться к вашему origin-серверу. Если порт 443 закрыт или SSL на сервере настроен неправильно, Cloudflare может показать 522, 525 или 526.

Вывод

Port 443 Not Open обычно означает одну из трёх проблем: веб-сервер не слушает HTTPS, firewall блокирует соединение или домен/CDN направляет трафик не туда. Начните с проверки ss -tulpn | grep :443, затем проверьте firewall, SSL-конфигурацию, DNS и Cloudflare.

Не исправляйте всё наугад. Сначала определите, где именно закрыт порт: на сервере, в firewall, у провайдера, в DNS или на стороне CDN. Так вы быстрее восстановите HTTPS и избежите лишнего простоя сайта.

admin
big24money.com
Logo
Сравнить элементы
  • Total (0)
Сравнить
0