


Bagaimanakah tapak web menetapkan sekatan IP hitam/senarai putih dan sekatan akses IP negara dan bandar melalui nginx?
Jun 01, 2023 pm 05:27 PM1 Konfigurasi akses terhad IP senarai hitam/putih
Terdapat beberapa cara untuk mengkonfigurasi senarai hitam dan putih dalam nginx kaedah.
1. Kaedah pertama: benarkan, nafikan
Arahan penafian dan benarkan milik ngx_http_access_module, nginx memuatkan modul ini secara lalai, supaya ia boleh digunakan secara langsung.
Kaedah ini adalah yang paling mudah dan langsung. Sediakan serupa dengan firewall iptable, gunakan kaedah:
Tambahkan terus pada fail konfigurasi:
#白名單設(shè)置,allow后面為可訪問IP location / { allow 123.13.123.12; allow 23.53.32.1/100; deny all; } #黑名單設(shè)置,deny后面接限制的IP,為什么不加allow all? 因?yàn)檫@個(gè)默認(rèn)是開啟的 location / { deny 123.13.123.12; } #白名單,特定目錄訪問限制 location /tree/list { allow 123.13.123.12; deny all; }
atau konfigurasikan senarai putih dengan membaca fail IP
location /{ include /home/whitelist.conf; #默認(rèn)位置路徑為/etc/nginx/ 下, #如直接寫include whitelist.conf,則只需要在/etc/nginx目錄下創(chuàng)建whitelist.conf deny all; }
dan buatnya dalam direktori /home/ whitelist.conf, dan tulis IP yang perlu ditambah pada senarai putih Selepas penambahan selesai, lihat yang berikut:
cat /home/whitelist.conf #白名單IP allow 10.1.1.10; allow 10.1.1.11;
Tetapan senarai putih selesai dan kaedah tetapan senarai hitam. adalah sama.
2: Kaedah kedua, ngx_http_geo_module
Secara lalai, modul ini biasanya ditambahkan pada nginx, ngx_http_geo_module: dokumen rasmi, parameter perlu ditetapkan dalam modul http.
Modul ini boleh menetapkan sekatan IP dan sekatan negara dan wilayah. Lokasi boleh berada di luar modul pelayan.
Contoh sintaks:
Tambah fail konfigurasi terus
geo $ip_list { default 0; #設(shè)置默認(rèn)值為0 192.168.1.0/24 1; 10.1.0.0/16 1; } server { listen 8081; server_name 192.168.152.100; location / { root /var/www/test; index index.html index.htm index.php; if ( $ip_list = 0 ) { #判斷默認(rèn)值,如果值為0,可訪問,這時(shí)上面添加的IP為黑名單。 #白名單,將設(shè)置$ip_list = 1,這時(shí)上面添加的IP為白名單。 proxy_pass http://192.168.152.100:8081; }
Anda juga boleh membaca konfigurasi IP fail
geo $ip_list { default 0; #設(shè)置默認(rèn)值為0 include ip_white.conf; } server { listen 8081; server_name 192.168.152.100; location / { root /var/www/test; index index.html index.htm index.php; if ( $ip_list = 0 ) { return 403; #限制的IP返回值為403,也可以設(shè)置為503,504其他值。 #建議設(shè)置503,504這樣返回的頁面不會(huì)暴露nginx相關(guān)信息,限制的IP看到的信息只顯示服務(wù)器錯(cuò)誤,無法判斷真正原因。 }
untuk mencipta ip_list dalam /etc /nginx directory .conf, selepas menambah IP, lihat yang berikut:
cat /etc/nginx/ip_list.conf 192.168.152.1 1; 192.168.150.0/24 1;
Apabila tetapan selesai, fail senarai IP ip_list.conf akan digunakan sebagai senarai putih Jika IP yang diminta tiada dalam senarai, halaman 403 akan dikembalikan terus. Kaedah tetapan senarai hitam adalah sama.
3. ngx_http_geo_module pengimbangan beban (sambungan)
ngx_http_geo_module, modul juga boleh digunakan untuk pengimbangan beban, seperti kluster web dengan pelayan di kawasan yang berbeza, segmen IP di rantau tertentu, memuatkan mengimbangi untuk mengakses Pelayan di rantau tertentu. Cara yang sama ialah menambah nilai tersuai di belakang IP Nilai ini tidak terhad kepada nombor, tetapi huruf juga boleh digunakan, seperti AS, CN, dll.
Contoh:
Jika tiga pelayan: 122.11.11.11, 133.11.12.22, 144.11.11.33
geo $country { default default; 111.11.11.0/24 uk; #IP段定義值uk 111.11.12.0/24 us; #IP段定義值us } upstream uk.server { erver 122.11.11.11:9090; #定義值uk的IP直接訪問此服務(wù)器 } upstream us.server { server 133.11.12.22:9090; #定義值us的IP直接訪問此服務(wù)器 } upstream default.server { server 144.11.11.33:9090; #默認(rèn)的定義值default的IP直接訪問此服務(wù)器 } server { listen 9090; server_name 144.11.11.33; location / { root /var/www/html/; index index.html index.htm; } }
Kemudian
><> Hadkan wilayah aksesSesetengah perkhidmatan pihak ketiga seperti cloudflare juga menyediakan pilihan tetapan untuk menjadikan tetapan peraturan tembok api lebih mudah. Di sini kita bercakap tentang cara menyediakan nginx. 1: Pasang modul ngx_http_geoip_module ngx_http_geoip_module: Dokumen rasmi, parameter perlu ditetapkan dalam modul http. nginx tidak membina modul ini secara lalai, ia harus didayakan menggunakan parameter konfigurasi --with-http_geoip_module. Untuk sistem Ubuntu, pasang terus komponen nginx-extras, termasuk hampir semua modul.sudo apt install nginx-extrasUntuk sistem centos, pasang modul.
yum install nginx-module-geoip2. Muat turun pangkalan data IP Modul ini bergantung pada pangkalan data IP Semua data dibaca dalam pangkalan data ini, dan perpustakaan ip (format dat) perlu dimuat turun. MaxMind menyediakan pangkalan data geografi IP percuma Berita buruknya ialah MaxMind telah berhenti menyokong pangkalan data IP format dat. Anda boleh menemui fail format dat di tempat lain, atau versi lama Sudah tentu, data itu mungkin bukan yang terkini dan mungkin mengandungi ralat. Muat turun termasuk versi negara dan bandar bagi Ipv4 dan Ipv6.
#下載國(guó)家IP庫(kù),解壓并移動(dòng)到nginx配置文件目錄, sudo wget https://dl.miyuru.lk/geoip/maxmind/country/maxmind.dat.gz gunzip maxmind.dat.gz sudo mv maxmind.dat /etc/nginx/GeoCountry.dat sudo wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind.dat.gz gunzip maxmind.dat.gz sudo mv maxmind.dat /etc/nginx/GeoCity.dat3. Konfigurasikan nginxContoh:
geoip_country /etc/nginx/GeoCountry.dat; geoip_city /etc/nginx/GeoCity.dat; server { listen 80; server_name 144.11.11.33; location / { root /var/www/html/; index index.html index.htm; if ($geoip_country_code = CN) { return 403; #中國(guó)地區(qū),拒絕訪問。返回403頁面 } } }Di sini, tetapan infrastruktur serantau dan negara selesai. Parameter lain Geoip:
Parameter berkaitan negara:$geoip_country_code #Kod negara Inggeris dua aksara. Contohnya: CN, US
$geoip_country_code3 #Kod negara Inggeris tiga aksara. Contohnya: CHN, USA
$geoip_country_name #Nama Inggeris penuh negara itu. Contohnya: China, Amerika Syarikat
Parameter berkaitan bandar:
$geoip_city_country_code # juga merupakan kod negara Inggeris dua aksara.
$geoip_city_country_code3 #Sama seperti di atas
$geoip_city_country_name #Sama seperti di atas.
$geoip_region #Ini telah diuji sebagai nombor dua digit, seperti 02 untuk Hangzhou dan 23 untuk Shanghai. Walaubagaimanapun, tiada maklumat berkaitan yang ditemui saya harap rakan-rakan yang lebih tahu boleh meninggalkan pesanan.
$geoip_city #Nama Inggeris bandar itu. Contohnya: Hangzhou
$geoip_postal_code #Kod pos bandar. Selepas ujian, medan ini di China kosong
$geoip_city_continent_code #Saya tidak tahu untuk apa ia digunakan, tetapi ia nampaknya AS
$geoip_latitud di China #Latitud
$geoip_longitud #Longitud
Atas ialah kandungan terperinci Bagaimanakah tapak web menetapkan sekatan IP hitam/senarai putih dan sekatan akses IP negara dan bandar melalui nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Nginx lebih sesuai untuk mengendalikan sambungan serentak yang tinggi, manakala Apache lebih sesuai untuk senario di mana konfigurasi kompleks dan sambungan modul diperlukan. 1.Nginx dikenali dengan prestasi tinggi dan penggunaan sumber yang rendah, dan sesuai untuk kesesuaian yang tinggi. 2.apache terkenal dengan kestabilan dan sambungan modul yang kaya, yang sesuai untuk keperluan konfigurasi kompleks.

Nginx dan Apache masing -masing mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya harus berdasarkan keperluan khusus. 1.Nginx sesuai untuk senario konvensional yang tinggi kerana seni bina yang tidak menyekatnya. 2. Apache sesuai untuk senario rendah-concurrency yang memerlukan konfigurasi kompleks, kerana reka bentuk modularnya.

Kod PHP boleh dilaksanakan dengan banyak cara: 1. Gunakan baris arahan untuk terus memasukkan "nama fail php" untuk melaksanakan skrip; 2. Masukkan fail ke dalam direktori root dokumen dan mengaksesnya melalui penyemak imbas melalui pelayan web; 3. Jalankannya dalam IDE dan gunakan alat debugging terbina dalam; 4. Gunakan kotak pasir PHP dalam talian atau platform pelaksanaan kod untuk ujian.

Memahami laluan fail konfigurasi Nginx dan tetapan awal sangat penting kerana ia adalah langkah pertama dalam mengoptimumkan dan menguruskan pelayan web. 1) Laluan fail konfigurasi biasanya /etc/nginx/nginx.conf. Sintaks boleh didapati dan diuji menggunakan arahan NGINX-T. 2) Tetapan awal termasuk tetapan global (seperti pengguna, worker_processes) dan tetapan HTTP (seperti termasuk, log_format). Tetapan ini membolehkan penyesuaian dan lanjutan mengikut keperluan. Konfigurasi yang salah boleh membawa kepada isu prestasi dan kelemahan keselamatan.

Sistem Linux mengehadkan sumber pengguna melalui perintah ULIMIT untuk mengelakkan penggunaan sumber yang berlebihan. 1.Ulimit adalah arahan shell terbina dalam yang boleh mengehadkan bilangan deskriptor fail (-N), saiz memori (-V), kiraan thread (-u), dan lain-lain, yang dibahagikan kepada had lembut (nilai berkesan semasa) dan had keras (had atas maksimum). 2. Gunakan perintah ULIMIT secara langsung untuk pengubahsuaian sementara, seperti ULIMIT-N2048, tetapi hanya sah untuk sesi semasa. 3. Untuk kesan tetap, anda perlu mengubah suai /etc/security/limits.conf dan fail konfigurasi PAM, dan tambah sessionrequiredpam_limits.so. 4. Perkhidmatan SystemD perlu menetapkan LIM dalam fail unit

Apabila mengkonfigurasi Nginx pada sistem Debian, berikut adalah beberapa petua praktikal: struktur asas fail konfigurasi Global Fail: Tentukan parameter tingkah laku yang mempengaruhi keseluruhan perkhidmatan Nginx, seperti bilangan thread pekerja dan kebenaran pengguna yang sedang berjalan. Bahagian Pengendalian Acara: Memutuskan bagaimana Nginx berurusan dengan sambungan rangkaian adalah konfigurasi utama untuk meningkatkan prestasi. Bahagian Perkhidmatan HTTP: Mengandungi sejumlah besar tetapan yang berkaitan dengan perkhidmatan HTTP, dan boleh membenamkan beberapa pelayan dan blok lokasi. Pilihan Konfigurasi Teras Worker_Connections: Tentukan bilangan maksimum sambungan yang setiap thread pekerja boleh mengendalikan, biasanya ditetapkan ke 1024. Multi_accept: Aktifkan mod penerimaan pelbagai sambungan dan tingkatkan keupayaan pemprosesan serentak. s

NginxserveswebcontentandactsasareVerseProxy, loadbalancer, andmore.1) itefficientlyservesstaticcontentlikehtmlandimages.2) itfunctionsasareverseProxyandloadalancer, distributingtrafficacrosservers.3)

Diagnosis dan penyelesaian untuk kesilapan biasa Nginx termasuk: 1. Lihat fail log, 2. Laraskan fail konfigurasi, 3 mengoptimumkan prestasi. Dengan menganalisis log, menyesuaikan tetapan masa tamat dan mengoptimumkan cache dan mengimbangi beban, kesilapan seperti 404, 502, 504 dapat diselesaikan dengan berkesan untuk meningkatkan kestabilan dan prestasi laman web.
