Rumah >pangkalan data >Redis >Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik

Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik

WBOY
WBOYke hadapan
2023-05-26 10:50:541966semak imbas

1. Latar Belakang

Dalam penyelenggaraan harian laman web kami, kami sering menghadapi keperluan sedemikian untuk menyekat perangkak atau pengguna berniat jahat tertentu daripada membuat permintaan kepada pelayan, kami perlu membina senarai hitam IP Dinamik. Untuk IP dalam senarai hitam, perkhidmatan akan dinafikan.

2. Senibina

Terdapat banyak cara untuk melaksanakan fungsi senarai hitam IP:

1 tahap, Konfigurasikan iptables untuk menolak permintaan rangkaian untuk IP tertentu; Pada peringkat aplikasi, di Sebelum meminta perkhidmatan, semak sama ada IP klien berada dalam senarai hitam.

Untuk memudahkan pengurusan dan perkongsian, kami melaksanakan fungsi senarai hitam IP melalui seni bina nginx+lua+redis Gambar rajah seni bina adalah seperti berikut:

Gambar rajah seni bina

Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik

3. Perlaksanaan


1 Pasang modul nginx+lua, iaitu pelayan nginx yang mengintegrasikan pelbagai modul lua:

terbuka

2. Pasang dan mulakan pelayan redis; 🎜>Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik
konfigurasi nginx

di mana

lua_shared_dict ip_blacklist 1m;

Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik
ruang memori kongsi 1m yang diperuntukkan oleh ruang memori kongsi proses nginx untuk senarai hitam ip Cache, lihat:

https://github.com/openresty/lua-nginx-module#lua_shared_dict

access_by_lua_file lua/ip_blacklist.lua;

Nyatakan lokasi skrip lua

4 Konfigurasikan skrip lua dan kerap mendapatkan senarai hitam IP terkini daripada redis Untuk kandungan fail, lihat:

https:/. /gist.github.com /ceelog/39862d297d9c85e743b3b5111b7d44cb

kandungan skrip lua

Buat pelayan jenis set rep_black yang baharu pada ip_blacklist senarai hitam ip terkini.

Selepas melengkapkan langkah di atas, muat semula nginx dan konfigurasi akan berkuat kuasa

Pada masa ini, akses pelayan Jika alamat IP anda berada dalam senarai hitam, akses ditolak: Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik

Akses Ditolak

Atas ialah kandungan terperinci Cara Nginx menggunakan Lua+Redis untuk mengharamkan IP secara dinamik. 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