można korzystać z dwóch IF przed lub w bloku lokalizacji do wglądu nagłówki, a następnie powrót kod 403 błędu, jeśli jest on obecny. Alternatywnie, można użyć tych IF przepisać do konkretnego bloku lokalizacji i negować wszystko w tym miejscu:
if ($http_x_custom_header) {
return 403;
}
referencyjny:
https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
https://nginx.org/en/docs/http/ngx_http_access_module.html
Dodanie więcej szczegółów na komentarz/zapytanie:
if ($http_x_custom_header) {
return 405;
}
to wygląda, czy nagłówek istnieje
Jeśli chcesz sprawdzić, czy istnieją prawidłowe wartości, najpierw musisz odwzorować prawidłowe wartości na zmienną.
map $http_x_header $is_ok {
default "0";
Value1 "1";
Value2 "1";
Value3 "1";
}
if ($is_ok) {
return 405;
}
ten pierwszy odwzorowuje wartość nagłówka czy jest ok, a następnie sprawdza, czy zmienna jest w porządku.
EDYCJA: Usunięto średnik po bloku mapy, ponieważ powoduje to błąd.
+1, Byłoby to znacznie bardziej doceniane, jeśli możesz podać kilka przykładów, :). – srain
Mam nadzieję, że ten przykład jest pomocny. – Rami
Linki wydają się być nieaktualne. Te wydają się być zaktualizowanymi alternatywami. https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ http://nginx.org/en/docs/http/ngx_http_access_module.html – Zoredache