Puncte:0

Limitarea ratei numai a paginii de pornire cu NGINX limit_req_zone

drapel in

Am o instalare Wordpress multisite și am niște roboți care ciocănesc paginile de start. Aș dori să stabilesc o limită de rată numai pe pagina (paginile) de pornire a site-urilor, dar las celelalte pagini nelimitate.

Problema mea este să creez o locație NGINX care să se potrivească cu adresa „goldă” a paginii de start a /index.php. Pot limita întregul site prin potrivirea cu „/”, dar nu este ceea ce am nevoie.

Am încercat să folosesc „index” ca locație definită, dar nu funcționează. Există vreun truc care îmi lipsește? Acesta este un caz dificil de căutat, deoarece cele mai multe întrebări selective de limitare sunt de la oameni care fac contrariul, oameni care limitează resurse cu adrese mai specifice, cum ar fi scripturile de conectare.

Iată ce am încercat:

limit_req_zone $binary_remote_addr zone=mainlimit:10m rate=1r/m;

Server {

    # Configurare SSL

    asculta 443 ssl http2;
    asculta [::]:443 ssl http2;
    includeți fragmente/ssl-example.com.conf;
    include snippets/ssl-params.conf;
    nume_server example.com www.example.com;
    client_max_body_size 120M;

    root /usr/share/nginx/example;
    index index.php index.html index.htm;

    rescrie /wp-admin$ $scheme://$host$uri/ permanent;

    #subdomain multisite cu wp în subdir „wp”.
    dacă (!-e $nume_fișier_cerere) {
    # Redirecționează fișierele/folderele wp-*
    rescrie ^(/[^/]+)?(/wp-.*) /wp/$2 ultimul;

    # Redirecționează alte fișiere php
    rescrie ^(/[^/]+)?(/.*\.php) /wp/$2 ultimul;
    }

    index de locație { #ACESTA NU SE POATE CU PAGINEA DE PRINCIPALA
        limit_req zone=mainlimit burst=3 nodelay;
        try_files $uri $uri/ /index.php?$args ;
    }

    Locație / {
        #limit_req zone=mainlimit burst=3 nodelay; ACEASTA SE POTRIVA CU TOTUL
        try_files $uri $uri/ /index.php?$args ;
    }
    locație ~* /wp-content/uploads/.*\.php$ {
    întoarce 503;
    }

    locație ~* /data/.*\.php$ {
    întoarce 503;
    }
 ***MAI MULTE LUCRURI...
Puncte:0
drapel us

Utilizați potrivirea exactă pentru Locație:

locație = / {
    limit_req zone=mainlimit burst=3 nodelay;
    try_files $uri $uri/ /index.php?$args;
}

Locație / {
    try_files $uri $uri/ /index.php?$args;
}
Elkrat avatar
drapel in
Mulțumesc foarte mult! Am citit MULTE postări, dar am ratat acest truc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.