Белый список учитывает конкретные запросы Nginx - PullRequest
0 голосов
/ 03 марта 2019

У меня есть сервер, а впереди Nginx.Есть много запросов, некоторые из которых содержат специальный пример слова:

/posts/men/clouths

У меня также есть ip-файл белого списка.Я хочу написать правило в Nginx, что если запросы содержат " men ", разрешить запрос только в том случае, если ip запрашивающего находится в файле белого списка.Если запрос не содержит « men », разрешите запрос в любом случае.

1 Ответ

0 голосов
/ 03 марта 2019

Готово

http {
    ## load whitelist
      map $remote_addr $deny {
        default 0;
        include /path/to/whitelist.txt;
}

server{
    ## check
    set $is_white_list 0;
    if ($request_uri ~ ".*men.*"){
      set $is_white_list 1;
    }
    if ($deny) { 
      set $is_white_list 1$is_white_list;
    }
    if ($is_white_list = 1) {
      return 403;
    }
    ##// epg check
}
...