NGINX `limit_req` funktioniert nicht in der Standortanweisung für eine Indexdatei

NGINX `limit_req` funktioniert nicht in der Standortanweisung für eine Indexdatei

Ich versuche, eine Nginx-Standortdirektive für hinzuzufügen limit_req, aber es funktioniert bei mir nicht.

Ich habe 2 Ziele, denen ich das hinzufügen wollte limit_req.

Website-API-Pfad. Hier ist meine Serverkonfigurationsdatei.

server {
    server_name example.com; # managed by Certbot

        root /var/www/;
        index index.php index.html index.htm;

    location / {
                root /var/www/;
                index index.php;
                try_files $uri $uri/ /index.php?$args;
        }

location /example.com/{
                limit_req zone=mylimit;
                root /var/www/example.com/;
                index index.php?$args;
                try_files $uri $uri/ /example.com/index.php?$args;
        }
location /example.com/api/ {
                limit_req zone=mylimit burst=20 nodelay;
                root /var/www/example.com/api/;
                index index.php?$args;
                try_files $uri $uri/ /example.com/api/index.php?$args;
        }
}

Wenn ich versuche, die obige Einstellung zu testen, indem ich parallel die Anmelde-URL der Website anklicke, funktioniert limit_req. Aber wenn ich denselben Test für die API ausführe, funktioniert es nicht.

Alle meine APIs haben https://example.com/api/index.phpdie URL aufgerufen. Kann jemand helfen?

Ich verwende Siege zu Testzwecken.

siege -b -r 1 -c 10 https://example.com/api/index.php

Kann jemand helfen?

Dank im Voraus.

verwandte Informationen