Rumah Operasi dan penyelenggaraan Nginx Kawalan capaian berasaskan tetingkap masa dalam proksi terbalik Nginx

Kawalan capaian berasaskan tetingkap masa dalam proksi terbalik Nginx

Jun 10, 2023 pm 12:01 PM
nginx proksi terbalik tetingkap masa

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

  1. Pasang modul ngx_http_limit_req_module

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

  1. dalam Tambah kandungan berikut pada fail konfigurasi proksi terbalik Nginx:
  2. $ 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
    Salin selepas log masuk
Dalam konfigurasi ini, limit_req_zone mentakrifkan kawasan had satu, dengan 10m ialah saiz memori, yang boleh diselaraskan mengikut keperluan sebenar. rate=1r/s mentakrifkan satu permintaan sesaat. Limit_req zone=one burst=5 ditambahkan pada lokasi, yang bermaksud apabila bilangan satu permintaan sesaat melebihi, lebihan permintaan akan diproses dengan nilai puncak 5 permintaan pada masa berikutnya.

Kawalan akses tetingkap masa pengesahan

  1. Selepas konfigurasi selesai, anda boleh menggunakan alat ab untuk menguji, seperti berikut:
  2. limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    
    server{
        ...
        location /{
            limit_req zone=one burst=5;
            proxy_pass http://backend;
        }
    }
    Salin selepas log masuk
Arahan ini bermakna: hantar 100 permintaan, bilangan permintaan serentak ialah 10. Keputusan ujian: Jika 10 permintaan dihantar dalam masa 1 saat, permintaan yang selebihnya akan dihadkan dan ralat 429 akan dihasilkan, seperti berikut:

$ 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
Salin selepas log masuk
3. Ringkasan

Penerapan perkhidmatan awan dan pengurusan, kawalan akses adalah penting. Melalui kawalan capaian berasaskan tetingkap masa dalam proksi terbalik Nginx, kekerapan capaian boleh dikawal dengan berkesan untuk memastikan keselamatan dan kestabilan perkhidmatan awan. Kaedah ini bukan sahaja boleh mengehadkan permintaan frekuensi tinggi, tetapi juga mengehadkan permintaan akses berniat jahat, dengan berkesan meningkatkan kebolehpercayaan dan keselamatan perkhidmatan awan.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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 untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

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.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

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 memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

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.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Cara menyelesaikan masalah domain nginx Cara menyelesaikan masalah domain nginx Apr 14, 2025 am 10:15 AM

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.

Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

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.

See all articles