Nginx методы GET/POST
Linux, please
В мире управления веб-серверами существует множество проблем, связанных с безопасностью.

Среди них – необходимость ограничения доступа к определенным методам HTTP на сервере для предотвращения возможных несанкционированных действий.
В этой статье мы рассмотрим тонкости настройки веб-сервера Nginx на разрешение доступа только к методам GET и POST, которые являются наиболее распространенными методами HTTP для веб-приложений.
Прежде чем начать, необходимо понять, что такое методы GET и POST.
Метод GET получает данные с указанного ресурса, а метод POST отправляет данные для обработки на указанный ресурс.
Теперь перейдем к пошаговому руководству.
Шаг 1: Установка Nginx
Если на вашем сервере еще не установлен Nginx, то первым шагом будет его установка.
Для сервера на базе Ubuntu достаточно выполнить следующие команды:
sudo apt update $ sudo apt install nginx
После установки убедитесь, что Nginx запущен, набрав:
systemctl status nginx [simterm]
Шаг 2: Создание или редактирование серверного блока
Для ограничения методов HTTP необходимо отредактировать конфигурацию того серверного блока, который требуется изменить.
Обычно он находится в файле /etc/nginx/sites-available/.
Для данного примера предположим, что у вас есть файл серверного блока с именем yourdomain.com.
Откройте его с помощью текстового редактора:
[simterm] $ sudo nano /etc/nginx/sites-available/yourdomain.com [simterm]
Шаг 3: Разрешение только методов GET и POST
Открыв конфигурационный файл, необходимо добавить или изменить блок location в блоке server.
В блоке location добавьте директиву if для проверки запросов, не использующих метод GET или POST, и возврата статуса ‘405 Not Allowed’.
Вот пример того, как это можно сделать:
server {
listen 80;
server_name yourdomain.com;
location / {
if ($request_method !~ ^(GET|POST)$ ) {
return 405;
}
try_files $uri $uri/ =404;
}
}
Данная конфигурация возвращает ошибку 405 для любого метода, не являющегося GET или POST.
🌐 Как исправить распространенные ошибки веб-сервера Nginx
Символ ~ является оператором совпадения регулярных выражений, а символ ^ указывает на начало строки.
Таким образом, !~ ^(GET|POST)$ соответствует любому методу запроса, который не находится в начале строки и не является ни GET, ни POST.
Шаг 4: Проверка конфигурации
После редактирования конфигурационного файла необходимо протестировать конфигурацию, чтобы убедиться в отсутствии синтаксических ошибок:
[simterm] $ sudo nginx -t
Если конфигурация верна, то вы увидите вывод, подобный этому:
nginx: configuration file /etc/nginx/nginx.conf test is successful
Шаг 5: Перезагрузка Nginx
Убедившись в правильности конфигурации, можно применить изменения, перезагрузив Nginx:
su
Теперь ваш сервер Nginx должен разрешать только методы GET и POST.
Заключение
В этом руководстве было показано, как ограничить HTTP-методы в Nginx, разрешив только GET и POST.
Это простой и эффективный способ повысить безопасность вашего сервера, предотвратив выполнение нежелательных действий.
Помните, что лучшие стратегии безопасности предполагают многоуровневый подход, и это лишь один из аспектов усиления безопасности вашего веб-сервера.

- 📺 UnderMind - Наш Канал YouTube
- ✅ [YT]UnderMind - Наш основной TG канал
- 🏴 ☠️ UnderPrivate - Приватный канал
- 🛒 HackAli - cамые интересные хакерские товары с Aliexpress!
- 👨 💻 Termux, пожалуйста - 100% termux
- 📱 Android, пожалуйста - от APK до мануалов
- 🐧 Linux, пожалуйста - всё о Linux
- 💭 https://t.me/UnderChats - Чат
- ⚡️ Мы в Яндекс. Zen - Лучший контент со всех наших каналов