Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk mengkonfigurasi had semasa pembelian tergesa-gesa Nginx

Bagaimana untuk mengkonfigurasi had semasa pembelian tergesa-gesa Nginx

王林
王林ke hadapan
2023-05-15 22:58:101323semak imbas

Kod adalah seperti berikut:

  limit_req_zone $server_name zone=sname:10m rate=1r/s;        #限制服务器每秒只能有一次访问成功
    #limit_req_zone $binary_remote_addr zone=one:3m rate=1r/s;    #限制ip,每秒只能访问一次
    #limit_req_zone $binary_remote_addr $uri zone=two:3m rate=1r/s;  #限制ip和路径不带参数,
    #limit_req_zone $binary_remote_addr $request_uri zone=thre:3m rate=1r/s;  #限制ip和带参数的路径 

  server {
    listen    80;
    server_name www.abc.com;
    location / {
        include host/proxy.cnf;
        proxy_pass http://backend;
    }
    location /api/createorder {
        limit_req zone=sname;  #不带突发,只能有一次正常请求
        limit_req_status 503;    #设置返回的状态码是503
        #limit_req zone=sname burst=5 nodelay;  #最大并发是5,并且实时处理
        include host/proxy.cnf;
        proxy_pass http://backend;
        error_page 503 =200 /50x.html;   #这里很重要,可以将错误的状态码503,返回结果的时候是200
    }
    location = /50x.html {
        if ($http_user_agent ~* "mobile|android|iphone|iphone|ios|ios"){
            #default_type application/json;
            return 200 '{"msg": "活动过于火爆,请稍后重试!","data": {},"code": -1}';  #设置移动端返回错误的信息显示
        }
        root  html;   #如果是pc端返回一个html页面
    }
    }

Isi penting: Dalam keadaan biasa, jika had semasa ditetapkan, kod status pemulangan ialah 503. Untuk terminal mudah alih, walaupun anda mengembalikan json data, klien Pada masa ini, saya bijak menetapkan kod status kepada 200 melalui error_page 403 =200 /50x.html;

Di atas hanya menggunakan ngx_limit_req_module, dan modul ngx_limit_conn_module juga boleh digunakan.

Terutama jika sesetengah tapak web perunding disasarkan oleh perangkak, pelayan mungkin dibunuh oleh perangkak (ini adalah kes untuk tapak web kecil)
Jadi apa yang perlu kita lakukan untuk melakukannya

rreeee

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi had semasa pembelian tergesa-gesa Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam