Как проверить доступность сервера

Как проверить доступность сервера
0
9

Если лендинг или трекер перестал открываться, реклама при этом может продолжать тратить бюджет. Перед перезагрузкой VPS стоит проверить, где пропал доступ: на пути к серверу, на нужном порту или уже внутри сайта. Все команды из статьи можно выполнить в Windows, Linux или macOS.

С чего начать проверку

Схема такая: ping проверяет ответ по сети, команда для порта показывает доступность нужной службы, а браузер или curl обращается к самому сайту. Эти проверки отвечают на разные вопросы, поэтому одного успешного результата мало.

Что проверяемЧем проверитьЧто узнаем
Адрес сервераpingПриходят ли ответы по сети
Нужный портTest-NetConnection или ncМожно ли подключиться к сайту, SSH или другой службе
Сам сайтБраузер или curlКакой ответ возвращает веб-сервис

Сначала попробуйте открыть проект через мобильный интернет. Если через него лендинг или трекер работает, проблема, скорее всего, находится в домашней или офисной сети, VPN либо DNS. Если результат тот же, переходите к командам.

Схема проверки доступности лендинга, трекера или сервера

Проверяем сервер через ping

IP можно представить как адрес VPS, а порт — как отдельный вход для сайта, SSH или другого сервиса. Команда ping обращается к адресу и ждёт ответ. Страницу сайта она при этом не загружает.

В примерах ниже используется учебный IP. Замените его на адрес своего сервера из панели хостинга. В Windows откройте через поиск «Терминал», PowerShell или «Командную строку» и введите:

ping 203.0.113.10

Windows отправит четыре запроса. В Linux и macOS количество запросов лучше указать в самой команде:

ping -c 4 203.0.113.10

Если в ответе появляются строки Reply from или bytes from, адрес отвечает по сети. Тайм-аут или 100% потерь означают, что ответ не пришёл. Сервер может быть недоступен, но такой же результат появится, если хостер или сетевой экран отключил ответы на ping. Поэтому после тайм-аута всё равно проверьте нужный порт.

Если сайт подключён к Cloudflare, при включённом проксировании домен ведёт на сеть Cloudflare. Команда ping домен.ru в этом случае проверит её адрес. Для проверки самого VPS используйте исходный IP из панели хостинга.

Проверяем порт в Windows

Для сайта обычно нужен порт 443, для SSH — 22, а для удалённого рабочего стола Windows — 3389. Проверить порт в Windows можно через PowerShell без установки дополнительных программ.

Откройте PowerShell или «Терминал» и выполните команду. Подставьте IP своего сервера и нужный порт:

Test-NetConnection -ComputerName 203.0.113.10 -Port 443
Проверка порта 443 командой Test-NetConnection в PowerShell

В результате найдите строку TcpTestSucceeded:

TcpTestSucceeded : True

True означает, что компьютер смог подключиться к порту. Значение False говорит только о неудачном соединении. Дальше проверьте состояние сервера в панели хостинга, работу нужной службы и правила сетевого экрана.

Открытый порт ещё не гарантирует, что сайт работает. Например, подключение к порту 443 может пройти успешно, а посетитель увидит ошибку приложения или сертификата. Поэтому дальше проверяют ответ самого сайта.

Проверяем порт и сайт в Linux или macOS

На Linux и macOS порт можно проверить через nc, или Netcat. Команда ниже ждёт ответ не дольше пяти секунд:

nc -zv -w 5 203.0.113.10 443

Сообщение succeeded означает, что соединение с портом установлено. Если система пишет command not found, Netcat не установлен. Для проверки сайта в такой ситуации можно использовать curl: 

curl -I --connect-timeout 5 https://example.com

Замените example.com на домен своего проекта. Коды 200, 301 и 302 показывают, что сайт ответил. 403 означает, что веб-сервис доступен, но запретил просмотр страницы. Ошибки 502 и 504 часто появляются, когда Nginx или другой прокси не может получить нормальный ответ от приложения, контейнера или базы данных.

Как проверить сервер из другой страны

Иногда лендинг не открывается только у одного провайдера, через определённый VPN или с конкретного IP. Быстро проверить эту версию можно через Check-Host. Сервис отправляет запросы из разных стран и умеет проверять ping, сайт и TCP-порт.

Результаты проверки доступности сервера из разных стран в Check-Host

Для проверки порта укажите адрес в формате IP:порт, например 203.0.113.10:443. Затем сравните результаты разных точек:

  • если сервер доступен почти везде, проверьте свой VPN, DNS, роутер и подключение через мобильный интернет;
  • если все точки возвращают ошибку, проблема, вероятно, находится на сервере, у хостера или в настройках службы;
  • если часть стран подключается, а часть нет, возможны проблемы с маршрутом, CDN или региональными правилами сетевого экрана.

Одна такая проверка показывает состояние сервера только в выбранный момент. Если на него постоянно идут платный трафик, постбэки или запросы трекера, лучше настроить мониторинг с уведомлениями.

Что посмотреть внутри Linux-сервера

Если доступ к VPS по SSH сохранился, часть проверок можно выполнить внутри сервера. Для примера возьмём сайт на Nginx. Начните с трёх команд:

sudo systemctl status nginx
sudo nginx -t
sudo ss -lntp | grep ':443'
Проверка службы Nginx и порта 443 на Linux-сервере

Первая команда показывает, запущен ли Nginx. Вторая проверяет конфигурацию на ошибки, а третья помогает узнать, слушает ли какой-либо процесс порт 443. Если служба работает и порт виден внутри сервера, проверьте сетевой экран Linux и правила безопасности в панели хостинга.

Для входа на VPS безопаснее использовать ключи. В отдельной инструкции AffTimes показано, как создать SSH-ключ в Windows, Linux и macOS.

Эти команды помогают провести разовую проверку. Если вы сами держите лендинги, трекер или другие инструменты на VPS, пригодится умение работать со службами Linux, портами, журналами и сетевым экраном. Тогда многие причины сбоев получится находить самостоятельно.

★ Где этому научиться

Курс «Основы администрирования Linux» в Академии IT DMS

✓Ubuntu Server, командная строка и Bash-скрипты
✓Права доступа, процессы и свой VPN-сервер в облаке
✓Виртуализация KVM, Docker и защита сервера с iptables

Сертификат или удостоверение о повышении квалификации.

Перейти к курсу →ПромокодAFFTIMES

−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.

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

Текст ошибки подсказывает, на каком этапе прервалось соединение. Сохраните его перед перезагрузкой сервера или обращением в поддержку.

ОшибкаЧто произошлоКуда смотреть
Could not resolve host или Unknown hostКомпьютер не получил IP доменаНаписание адреса и DNS-записи
Request timed outОтвет не пришёл вовремяСеть, хостинг, сервер или сетевой экран
Connection refusedСервер отклонил подключение к портуСлужба остановлена или порт закрыт
502 Bad GatewayПрокси получил неправильный ответ от приложенияNginx, приложение или контейнер
504 Gateway TimeoutПрокси не дождался ответа приложенияНагрузка, база данных, приложение и его журналы
Ошибка сертификатаHTTPS-соединение началось, но сертификат не прошёл проверкуСрок действия сертификата и домен в нём

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

Что делать с результатом

Если проект открывается через мобильный интернет, начните с VPN, DNS и своего провайдера. Если сервер отвечает на ping, а порт закрыт, проверяйте службу и сетевой экран. При открытом порте и ошибке 502 или 504 причину ищут в приложении, контейнере или базе данных. Такой результат уже можно передать администратору или хостеру без общего сообщения «у нас ничего не работает».

FAQ

Достаточно ли команды ping для проверки сайта?

Нет. Ping показывает только ответ по сети. Сайт может не работать при успешном ping, а исправный сайт может открываться на сервере, который не отвечает на такие запросы.

Какой порт проверять, если не открывается сайт?

Для HTTPS обычно проверяют порт 443, для HTTP — порт 80. Панель управления, трекер или прокси могут использовать другой порт, указанный в их настройках.

Почему ping показывает тайм-аут, хотя сайт открывается?

Сервер или сетевой экран может не отвечать на ping и при этом пропускать трафик сайта через порт 443. В этой ситуации нужно проверить порт и ответ браузера или curl.

Как проверить порт без установки программ в Windows?

В PowerShell выполните Test-NetConnection -ComputerName АДРЕС -Port ПОРТ. Значение TcpTestSucceeded: True означает, что соединение с указанным портом установлено.

Валерия Шлегель
Валерия Шлегель
Автор
(Проголосовать за статью)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

X