Как отклонить просьбы в nginx, когда нет никакого ссылающегося домена?

В nginx access.log я вижу много строк как:

1.2.3.4 - - [19/Oct/2014:22:48:11 -0400] "POST /someurl/suburl HTTP/1.1" 200 19967 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2"

Где только общая вещь между ними "-" (который я принимаю средства, никакой ссылающийся домен не установлен).

Таким образом, я пытался отклонить эти просьбы использование:

if ($http_referer ~ ^(-))
    {  return 444;
}

Однако как Вы видите выше, это не работает на запросы POST.

0
задан 20 October 2014 в 08:13
1 ответ

Проблема, с которой вы столкнулись, заключается в том, что nginx не видит реферера «-», он просто использует его в журнале, чтобы проверять приложения, анализирующие журнал, которые ожидают реферера. Это практически остановит любого, кто набирает URL вручную или добавляет его в закладки

Попробуйте этот

 if ($http_referer = "") {  return 403; }
4
ответ дан 4 December 2019 в 11:49

Теги

Похожие вопросы