Rumah >Operasi dan penyelenggaraan >Nginx >Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih

Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih

WBOY
WBOYke hadapan
2023-05-13 12:07:141265semak imbas

1. Prakata

Secara amnya, sistem yang terdedah kepada dunia luar akan menerima sejumlah besar permintaan semasa promosi atau serangan penggodam untuk melindungi sistem daripada ditenggelami oleh trafik serentak tinggi yang tiba serta-merta, , anda perlu mengehadkan arus.

2. Mula-mula gunakan program yang mendedahkan antara muka kepada dunia luar

Apa yang saya gunakan di sini ialah projek but musim bunga, yang didedahkan seperti berikut 🎜>

Letakkan atur cara ini ke pelayan Linux. Langkah-langkah penggunaannya tidak Sekali lagi, anda boleh menggunakannya sendiri dengan but spring Baidu

Cara menggunakan nginx untuk melaksanakan pengehadan arus teragihSaya ingin mengesyorkan kumpulan pembelajaran dan pertukaran seni bina kepada semua orang. Nombor kumpulan komunikasi dan pembelajaran: 575745314. Ia akan berkongsi beberapa video yang dirakam oleh arkitek kanan: spring, mybatis, analisis kod sumber netty, prinsip keselarasan tinggi, prestasi tinggi, teragih, seni bina perkhidmatan mikro, pengoptimuman prestasi jvm, seni bina teragih, dll. Ini telah menjadi sistem pengetahuan yang diperlukan untuk arkitek. Anda juga boleh menerima sumber pembelajaran percuma dan mendapat banyak manfaat setakat ini

3 Cipta fail konfigurasi nginx bernama nginx.conf

Buat fail konfigurasi bernama nginx.conf, kandungan lengkapnya adalah seperti berikut Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih

Penjelasan bahagian pengehad semasa dalam fail konfigurasi:

Seperti di atas, Konfigurasi mengehadkan semasa nginx hanya mempunyai dua baris kod.

Cara menggunakan nginx untuk melaksanakan pengehadan arus teragihBaris pertama:


limit_req_zone: ialah pernyataan mengehadkan semasa.

$ binary_remote_addr: bermaksud untuk mengehadkan arus berdasarkan IP klien Sebagai contoh, konfigurasi pengehad semasa di atas mengehadkan kekerapan permintaan setiap IP pelanggan kepada sekali sesaat semasa akan dihadkan dan ralat http 503 akan dikembalikan

zone=perip: bermakna menggunakan perip nama untuk mengenal pasti baris konfigurasi pengehad arus ini akan dirujuk dengan nama perip kemudian (iaitu, konfigurasi pengehad semasa boleh ditakrifkan Untuk berbilang)Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih

10m: bermakna ruang untuk menyimpan IP klien ialah 10mb, 1mb boleh menyimpan lebih daripada 10,000 ips, 10mb boleh menyimpan lebih daripada 100,000 ips, penjelasan rujukan: ... Dalam artikel ini Cari binary_remote_addr untuk mencari penjelasan yang berkaitan

rate=1r/s: Menunjukkan bahawa kekerapan adalah satu permintaan sesaat >Barisan kedua:

bermaksud bahawa pada kluster myserver, gunakan konfigurasi pengehad semasa bernama perip

4

Tukar nginx.conf yang dibuat dalam fail Konfigurasi langkah sebelumnya, salin ke direktori linux, /root/nginx/ (direktori boleh sewenang-wenangnya), dan kemudian gunakan arahan docker untuk menggunakan persekitaran nginx Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih

Port 8080 didedahkan di sini Nod pengimbangan beban dalam konfigurasi nginx boleh diakses melalui port 8080, iaitu ip 192.168.10.253:8090. Port. Port ip ini sepadan dengan program hello world yang dibuat dan digunakan dalam langkah pertama Gunakan kod untuk mengakses antara muka helloworld yang ketiga ditakrifkan dalam satu langkah

Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih Di sini saya melaksanakan 10 mendapatkan permintaan sesaat, yang sudah lebih besar daripada kadar=1r/s yang dikonfigurasikan dalam nginx, yang meminta sekali sesaat Jadi anda akan melihat ralat 503, seperti berikut.

Jika anda menukar kod dan melaksanakan permintaan get sekali sesaat, tiada ralat akan dilaporkan Anda boleh mencubanya

Atas ialah kandungan terperinci Cara menggunakan nginx untuk melaksanakan pengehadan arus teragih. 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