Bagaimana untuk mengkonfigurasi had laju kemasukan nginx
Bermula dari senario perniagaan
Semasa proses pembangunan perniagaan, kami mempunyai keperluan: perkhidmatan muat turun yang disediakan melalui penyemak imbas fail perlu dihadkan kelajuan. Contohnya, apabila pengguna memuat turun fail melalui penyemak imbas fail, mereka perlu mengehadkan kadar muat turun setiap pengguna. Berkembang daripada keperluan ini, kadar muat turun untuk pengguna tertentu juga boleh dihadkan.
Untuk mencapai keperluan perniagaan ini, digabungkan dengan timbunan teknologi semasa kami (k8s + nginx ingress), ia boleh dicapai dengan mengkonfigurasi parameter nginx yang sepadan.
Apakah itu had laju?
Had kelajuan, seperti namanya, ialah had laju.
Kadar di sini boleh:
Kekerapan pengguna tunggal mengakses sumber dalam satu unit masa,
boleh juga Kekerapan satu IP mengakses sumber dalam satu unit masa.
Biasanya, senario perniagaan yang terakhir wujud dalam had kelajuan muat turun
Mengapa kita perlu mengehadkan kelajuan?
Intipati had laju adalah untuk memastikan keadilan.
Dalam kes sumber lebar jalur terhad, cuba pastikan setiap pengguna boleh diperuntukkan nilai lebar jalur yang mencukupi secara munasabah. Ia juga boleh memberi perkhidmatan kepada lebih ramai pengguna melalui pengehadan kelajuan apabila sumber jalur lebar terhad.
Selain itu, pengehadan kelajuan juga boleh mengurangkan kesan serangan penafian perkhidmatan teragih (DDOS).
Apakah konfigurasi dalam fail yaml kemasukan nginx?
Konfigurasi had laju kemasukan Nginx pada asasnya boleh didapati dalam anotasi nginx.ingress.kubernetes.io kemasukan.
Di bawah, kami akan menerangkan anotasi yang berkaitan dengan had laju satu demi satu:
: Bilangan sambungan serentak yang boleh dibuat oleh satu IP alamat pada masa yang sama. Jika bilangan sambungan serentak melebihi, ralat 503 dikembalikan.-
: Hadkan bilangan permintaan sesaat untuk satu IP (had permintaan sesaat). Jika melebihi had, ralat 503 dikembalikan. Perlu diingatkan bahawa ralat 503 tidak berlaku serta-merta apabila nilai yang ditetapkan oleh konfigurasi melebihi nginx membenarkan kewujudan bilangan permintaan pecah dalam julat masa tertentu (bilangan permintaan pecah = had-rps * had-burst. -pengganda). Jadi bilakah 503 akan muncul? Ini bermula dengan model mengehadkan semasa nginx. Model mengehadkan semasa nginx ialah baris gilir (rujuk model baris gilir kumpulan benang Bilangan maksimum sambungan untuk pengehadan semasa = keupayaan pemprosesan baris gilir + panjang baris gilir, iaitu sambungan maks-sesaat = had-). rps + had-rps* had-burst-multiplier.nginx.ingress.kubernetes.io/limit-connections
-
: Sama seperti limit-rps, tetapi limit-rpm mempunyai keutamaan yang lebih tinggi daripada limit-rps Maksudnya, apabila limit-rpm dan limit-rps ditetapkan pada masa yang sama, had-rpm akan diguna pakai. Walau bagaimanapun, apabila sambungan had juga ditetapkan, maka sambungan had mempunyai keutamaan tertinggi.nginx.ingress.kubernetes.io/limit-rps
-
: pekali saiz permintaan pecah, terutamanya digunakan untuk menentukan panjang baris gilir sambungan, lalainya ialah 5nginx.ingress.kubernetes.io/limit-rpm
-
: Had laju (kadar had) akan dilaksanakan selepas melebihi jumlah trafik, unit ialah KBnginx.ingress.kubernetes.io/limit-burst-multiplier
-
: Nilai had laju sambungan tunggal setiap kedua, unitnya ialah KB.nginx.ingress.kubernetes.io/limit-rate-after
-
: Tetapkan senarai putih IP dalam senarai putih tidak terhad kepada CIDR berbilang IP boleh dipisahkan dengan koma.nginx.ingress.kubernetes.io/limit-rate
-
Notanginx.ingress.kubernetes.io/limit-whitelist
Apabila sambungan had, had-rps, had-rpm ditetapkan pada masa yang sama, keutamaan Ya had-sambungan>limit-rpm>limit-rps
Prasyarat untuk had-kadar-selepas dan had-kadar berkuat kuasa ialah
nginx.ingress.kubernetes.io/proxy-buffering: "on"
IP yang dinyatakan di atas perlu dibezakan daripada SLB atau IP pengguna sebenar untuk mendapatkan IP pengguna sebenar4
Selepas memahami perkara pengetahuan ini, mari kita kembali kepada perniagaan kita sendiri. Kita hanya boleh menambah konfigurasi berikut pada fail konfigurasi kemasukan perniagaan:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: ... nginx.ingress.kubernetes.io/proxy-buffering: on nginx.ingress.kubernetes.io/limit-rate: 10 # 单位是KB name: xxx namespace: yyy spec: ingressClassName: nginx rules: ...
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi had laju kemasukan nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.
