PQ
PQ.Hosting

Валюта

Как узнать версию Nginx: nginx -v, curl, apt и скрытие версии

Автор
PQ
12 марта 2026
3 мин чтения
368 просмотров
Как узнать версию Nginx: nginx -v, curl, apt и скрытие версии

Версия Nginx нужна чаще чем кажется: при поиске CVE, при написании конфига под конкретный синтаксис, при обновлении через пакетный менеджер или при диагностике несовместимости модулей. Способов узнать её несколько — от однострочника до чтения HTTP-заголовков.

nginx -v: коротко

Самая быстрая команда — только версия, ничего лишнего:

nginx -v
nginx version: nginx/1.24.0

nginx -V: версия плюс все параметры сборки

Заглавная -V выдаёт полную картину — версию, компилятор, флаги сборки и список подключённых модулей:

nginx -V
nginx version: nginx/1.24.0
built by gcc 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_v2_module ...

Это важно когда нужно проверить поддерживает ли установленный nginx конкретный модуль — например --with-http_v2_module для HTTP/2 или --with-stream для TCP-проксирования.

apt / dpkg: версия пакета

На Debian и Ubuntu Nginx установлен через пакетный менеджер. Версия пакета может отличаться от версии бинарника если nginx обновлялся вручную.

Через apt:

apt show nginx

Через dpkg:

dpkg -l nginx

Через dpkg с поиском по имени (если установлен nginx-full или nginx-extras):

dpkg -l | grep nginx

На RHEL / CentOS / Rocky:

rpm -q nginx
nginx-1.24.0-1.el9.ngx.x86_64

curl: версия из HTTP-заголовка

Если nginx запущен и доступен по сети — версию можно прочитать из заголовка ответа:

curl -sI http://localhost | grep Server
Server: nginx/1.24.0

Флаг -s подавляет прогресс-бар, -I запрашивает только заголовки без тела ответа.

Если сервер слушает на нестандартном порту:

curl -sI http://localhost:8080 | grep Server

Если заголовок Server отсутствует — значит включена директива server_tokens off. Это намеренное скрытие версии из соображений безопасности. Смотреть версию тогда через nginx -v.

systemctl status: версия в выводе службы

Статус службы иногда показывает версию в описании:

systemctl status nginx

Версия будет видна в строке описания юнита если пакет установлен из официального репозитория nginx. На некоторых дистрибутивах этой информации в статусе нет — тогда использовать nginx -v.

Какая версия доступна для обновления

Посмотреть текущую установленную и последнюю доступную версию:

apt list --installed nginx 2>/dev/null
apt list --upgradable 2>/dev/null | grep nginx

Если в выводе второй команды есть строка с nginx — доступно обновление.

Скрытие версии Nginx

Если в заголовке Server видна версия — это минус к безопасности: атакующий сразу видит что искать в базе CVE. Скрыть через конфиг:

Открыть /etc/nginx/nginx.conf, в блоке http добавить:

server_tokens off;

Перезагрузить конфиг:

sudo nginx -s reload

После этого заголовок Server будет возвращать просто nginx без номера версии.

Шпаргалка

Задача Команда
Только версия nginx -v
Версия + модули сборки nginx -V
Версия пакета (Debian/Ubuntu) apt show nginx или dpkg -l nginx
Версия пакета (RHEL/CentOS) rpm -q nginx
Версия из HTTP-заголовка curl -sI http://localhost | grep Server
Статус службы systemctl status nginx
Доступное обновление apt list --upgradable 2>/dev/null | grep nginx
Скрыть версию в заголовке server_tokens off; в nginx.conf

Поделиться статьей

Похожие статьи