Dengan pembangunan Internet, semakin banyak aplikasi digunakan dalam awan Bagaimana untuk memastikan keselamatan dan kestabilan perkhidmatan awan telah menjadi isu utama. Antaranya, Nginx, sebagai pelayan web berprestasi tinggi dan proksi terbalik, digunakan secara meluas dalam penggunaan dan pengurusan perkhidmatan awan. Dalam aplikasi praktikal, akses perlu dihadkan dalam beberapa senario, seperti IP yang kerap diakses, permintaan akses berniat jahat, akses trafik besar, dsb. Artikel ini akan memperkenalkan kaedah kawalan akses berdasarkan tetingkap masa untuk memastikan keselamatan dan kestabilan perkhidmatan awan dengan mengehadkan bilangan akses dalam tempoh masa tertentu.
1. Apakah itu tetingkap masa
Tetingkap masa merujuk kepada kaedah mengehadkan acara dalam tempoh masa tertentu. Dalam kawalan akses, akses boleh dihadkan berdasarkan tetingkap masa, contohnya: maksimum 10 lawatan dalam 1 minit, maksimum 100 lawatan dalam 5 minit, maksimum 1,000 lawatan dalam satu jam, dsb. Tetingkap masa boleh dilaraskan mengikut keadaan sebenar dan fleksibel dan boleh disesuaikan.
2. Kawalan akses tetingkap masa dalam proksi terbalik Nginx
Sebelum menggunakan kawalan akses tetingkap masa nginx, anda perlu memasang ia ngx_http_limit_req_module modul. Modul ini boleh mengawal kekerapan permintaan pelanggan yang tiba dalam tempoh masa yang sama. Biasanya apabila kita memasang nginx, kita akan memasang modul ini pada masa yang sama. Jika ia tidak dipasang, anda perlu menyusun semula dan memasang nginx. proksi
$ wget http://nginx.org/download/nginx-1.14.0.tar.gz $ tar zxvf nginx-1.14.0.tar.gz $ cd nginx-1.14.0/ $ ./configure --prefix=/usr/local/nginx --add-module=../nginx-limit-req-module-master $ make $ sudo make install
Kawalan akses tetingkap masa pengesahan
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server{ ... location /{ limit_req zone=one burst=5; proxy_pass http://backend; } }
$ ab -n 100 -c 10 http://localhost/ This is ApacheBench, Version 2.3 <$Revision: 1807734 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Finished 100 requests
Atas ialah kandungan terperinci Kawalan capaian berasaskan tetingkap masa dalam proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!