Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
location / {
if ( $request_uri ~* /wp-login.php) {
....
location /wp-login.php {
limit_req zone=login burst=4;
proxy_pass http://backend:8080;
<...>
}
Если location задан регулярным выражением.
В этом случае директиву следует указывать без URI.
upstream oldsites {
server 127.0.0.1:8081;
}
location ~* \.php$ {
try_files $uri =404;
proxy_pass http://oldsites;
}
location / {
proxy_pass http://backend;
}
location / {
proxy_pass http://backend/;
}
location ~* /wp-login.php {
proxy_pass http://backend:8080;
}
На одной из более ранних версий nginx оно не срабатывало.Вы видимо один из первых пользователей nginx? =)
Изменения в nginx 0.1.25 19.03.2005
...
*) Добавление: директива proxy_pass может использоваться в location,
заданных регулярным выражением.
limit_req могла использоваться в любых location всегда.Задача может быть реализована в Nginx с помощью модуля ngx_http_limit_req_module [1], выступающем в роли фронт-энда к Apache или веб-сервера FastCGI.
location ~* /wp-login.php {
limit_req zone=login burst=4;
fastcgi_pass unix:/var/php-fpm.sock;
}
location ~ \.php?$ {
fastcgi_pass unix:/var/php-fpm.sock;
}
Ограничение количества попыток ввода пароля в веб-форме авторизации при помощи Nginx или HAProxy на примере WordPress