Назад | Перейти на главную страницу

Добавление фигурных скобок в блок карты в nginx

У меня возникла проблема, пытаясь заставить работать следующую конфигурацию. Каждый раз, когда я запускаю тест конфигурации, я получаю неудачный проход. Для начала позвольте мне показать вам рабочую конфигурацию

location / { if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)"){ return 403; } }

Но когда я пытаюсь быть немного умным и помещаю это в блок карты, я получаю ошибку

map $query_string $edgars_access_denied { default "200"; ~mosConfig_[a-zA-Z_]{1,21}(=|\%3D) "403"; }

Фигурные скобки, такие как точка с запятой, имеют особое значение в конфигурации nginx, поэтому вы должны превратить свое регулярное выражение в явную строку, заключив ее в одинарные или двойные кавычки.

map $query_string $edgars_access_denied {
    default "200";
   "~mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" "403";
}