Maison  >  Questions et réponses  >  le corps du texte

fonction de réponse aléatoire nginx

Lorsque le client a interagi avec le serveur, une erreur de conception de timing s'est produite, ce qui a amené le serveur à recevoir plus de 300 000 requêtes en 10 minutes. La pression sur le backend PHP a augmenté instantanément et l'a fait s'effondrer.

Dans la solution actuelle, étant donné que les requêtes répétées sur une courte période obtiennent le même contenu, les requêtes avec des paramètres spéciaux sont directement déposées au niveau de la couche Nginx et aucun résultat n'est renvoyé directement.

Le code est le suivant

shell    if ( $query_string ~ "api=(getpush|remove)")
    {
        return 200 '{"resultStatus":1,"allCount":0,"data":[]}';
        break;
    }

Cette solution présente des imperfections, comme l'interdiction de seulement 90 % des demandes, ou la prise d'effet uniquement dans un délai spécifié. Je me demande si des étudiants ont des solutions anti-attaque similaires ?

我想大声告诉你我想大声告诉你2712 Il y a quelques jours469

répondre à tous(2)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:27:34

    Vous pouvez envisager d'utiliser un amont, de définir un poids et de transférer 90 % des requêtes vers une interface factice

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:27:34

    bien, rattrape-toi toi-même

    nginx+lua=openresty

    répondre
    0
  • Annulerrépondre