5 способов узнать версию Nginx: полный гайд для админов
Вы уверены, что ваш веб-сервер работает на актуальной и безопасной версии Nginx? От этого простого факта зависит стабильность ваших сайтов и защита от уязвимостей. Мы часто забываем проверять базовые вещи, пока не столкнемся с проблемой совместимости модулей или внезапной ошибкой. А ведь от версии Nginx зависит, какие функции вам доступны и насколько вы защищены от кибератак.
Эта статья — ваш шпаргалка для быстрой и точной диагностики. Вы узнаете не только очевидные способы проверки с доступом к серверу, но и хитрости для ситуаций, когда прямого доступа нет. Мы разберем как простую команду для быстрого ответа, так и расширенную опцию, показывающую все скомпилированные модули.
Вы научитесь проверять поддержку конкретных модулей одной строкой в терминале. Узнаете, какую информацию Nginx "светит" в заголовках каждому посетителю и как это использовать. А главное — мы покажем, как легко скрыть версию сервера от посторонних глаз, чтобы не давать злоумышленникам лишней информации. Это проще, чем кажется!
Готовы взять под полный контроль ваш веб-сервер? Переходите к статье — все методы ждут вас внутри.
Если вы администрируете Linux сервер, вам может понадобиться узнать версию Nginx. Это очень популярный и высокопроизводительный веб-сервер, который используется даже чаще чем Apache. От версии зависит поддерживает веб-сервер те или иные возможности, а также есть ли в нём все необходимые патчи исправляющие уязвимости.
Дальше в этой статье мы рассмотрим как посмотреть версию различными способами на самом сервере или без доступа к серверу.
Как посмотреть версию Nginx
Самый простой способ посмотреть версию Nginx если у вас есть доступ к серверу - воспользоваться командой nginx с опцией -v:
nginx -v

Если вы запускаете команду от имени обычного пользователя и получаете ошибку, это значит что она находится в каталоге /sbin/ или /usr/sbin, доступному только для суперпользователя. Попробуйте выполнить команду с sudo:
sudo nginx -v
Более подробную информацию можно получить используя опцию -V. Она выводит информацию о версии компилятора и модулях, с которыми была скомпилирована программа:
nginx -V
Если вы хотите проверить скомпилирована ли программа с определённым модулем, например, модулем http_flv, используйте такую команду:
nginx -V 2>&1 | grep http_flv_module

Если имя модуля есть в списке, то оно будет подсвечено красным цветом.
Это всё что касается просмотра версии на сервере. Кроме того, Nginx отображает версию сервера при возникновении ошибки в браузере, а также передает её в заголовке Server. Посмотреть передаваемые заголовки можно с помощью curl. Например:
curl -I test.losst.pro

Как скрыть версию Nginx
Если вы не хотите чтобы ваш Nginx показывал свою версию всем в заголовках или во время ошибки, надо отредактировать файл /etc/nginx/nginx.conf. Измените значение директивы server_tokens с on на off в секции http:
sudo vi /etc/nginx/nginx.conf
server_tokens off

Затем перезапустите сервер:
sudo systemctl restart nginx
Теперь вы знаете как скрыть версию, в заголовке Nginx будет передавать только своё название.
Как видите, всё очень просто. Теперь вы знаете как посмотреть версию Nginx. Если вы знаете другие способы, пишите в комментариях!