Nginx

Blok NGINX Berdasarkan Lokasi Geografi

Blok NGINX Berdasarkan Lokasi Geografi
Nginx adalah pelayan web sumber terbuka berprestasi tinggi dan ringan yang tersedia untuk umum secara percuma. Ia mempunyai sejumlah besar ciri berharga berbanding pelayan ringan lain. Salah satu ciri tersebut ialah geoip_module, yang digunakan untuk mengenal pasti lokasi grafik geo dari mana pengunjung datang. Secara lalai, ia digunakan bersama dengan data yang disediakan oleh maxmind untuk mengetahui lokasi geografi pelawat. Kelebihan mengenal pasti lokasi geografi adalah dengan menerapkan kebijakan yang berlainan ke lokasi geografi yang berbeza, misalnya jika perniagaan hanya tersedia untuk negara-negara di Amerika utara, dengan geoip_module ia dapat menyekat semua pengunjung lain yang datang dari wilayah lain. Ini memastikan perniagaan tidak harus mematuhi peraturan, dan peraturan yang diberlakukan oleh berbagai wilayah, seperti GDPR (Peraturan Perlindungan Data Umum).

Pelaksanaan

Walaupun terdapat banyak cara untuk melaksanakan penyelesaian dalam sistem, panduan ini menunjukkan cara termudah untuk mendaftarkannya dengan usaha minimum.

  1. Jelas, Nginx harus dipasang di sistem sebelum memulakan langkah-langkah dalam panduan ini. Namun, pemasangan Nginx tidak mencukupi, kerana ia juga memerlukan geo_ip_module untuk dipasang juga. Maxmind digunakan untuk melepaskan pangkalan data mereka dalam format dat, tetapi sejak beberapa saat yang lalu dilepaskan dalam format mmdb. Ini menjadikan Nginx memerlukan geo_ip_module baru yang disebut ngx_http_geoip2_module. Namun, ia tidak diperlukan kerana pangkalan data lama masih mencukupi. Bagaimanapun, jika nginx tidak dipasang, siapkan dengan dua perintah berikut.
apt-get kemas kini
apt-get install nginx
  1. Ketik arahan berikut untuk memastikan modul http_geoip dipasang.
nginx -V

  1. Terdapat banyak cara untuk memperoleh / membina pangkalan data yang mengandungi alamat IP, dan nama negara, bandar masing-masing. Pasang pangkalan data geo_ip dengan arahan berikut. Menggunakan kaedah ini memudahkan pemasangan pangkalan data geo_Ip dalam sistem. Walau bagaimanapun, cara yang paling ideal ialah memuat turun salinan baru kerana ia dikemas kini dengan maklumat terkini. Jadi, gunakan salah satu daripada tiga pilihan yang diberikan di bawah. Pilihan pertama sudah cukup untuk mana-mana pengguna biasa, 2nd pilihannya adalah untuk mendapatkan pangkalan data terbaru maxmind, pilihan ketiga menukar pangkalan data mmdb ke format fail dat masing-masing.
    Sudah waktunya, dan memakan sumber, dan oleh itu tidak digalakkan untuk pelayan yang lemah. Namun, jika pangkalan data yang dikemas kini masih diperlukan, gunakan pilihan 2. Ini menjimatkan masa, dan wang dalam menukar fail, tetapi keselamatan tidak dapat dijamin kerana ia ditukar oleh orang lain, bukan oleh pihak rasmi mana pun. Pilihan 3 memerlukan pakej 3 pip, setuptools, ipaddr, dcryptit. Dan ia menggunakan python 2 untuk memproses skrip. Baris terakhir menukar arkib zip menjadi .fail dat. Walaupun disebut tentang penukaran format fail mmdb ke .dat, di sini sebenarnya menukar fail CSV menjadi .format fail dat, dan dengan itu ia memerlukan geoname2fips.fail csv yang disertakan bersama kumpulan fail penukaran.

Pilihan 1

apt-get install geoip-database libgeoip1

Pilihan 2

cd / usr / share / GeoIP
wget -o maxmind.dat.gz https: // bit.ly / 2Gh3gTZ
maxmind gunzip.dat.gz

Pilihan 3

cd / rumah /
mkdir geolite2legacy /
klon git https: // github.com / sherpya / geolite2legacy
apt-get pasang python
apt-get pasang python-pip
pemasangan paip pemasangan
pip pasang ipaddr
pip pasang dcryptit
cd / usr / kongsi /
mkdir GeoIP /
cd / usr / share / GeoIP /
wget https: // geolit.akal budi.com / muat turun / geoip / pangkalan data / GeoLite2-Country-CSV.zip
pyton / rumah / geolite2legacy / geolite2legacy.py -i / usr / share / GeoIP / GeoLite2-Country-CSV.zip -f
/ rumah / geolite2legacy / geoname2fips.csv -o / usr / share / GeoIP / GeoLite2-Negara.dat
  1. Konfigurasikan fail konfigurasi Nginx seperti berikut. Ketik perintah pada baris pertama di terminal Linux seperti biasa, dan salin baris yang lain ke nginx.fail conf. Pastikan nama yang disebut dalam / usr / share / GeoIP / GeoIP.dat sepadan dengan fail dat yang disimpan dalam folder usr / share / GeoIP. Walaupun dalam contoh berikut, ia menetapkan hanya satu negara, beberapa kod negara dapat ditentukan sebagai contoh yang diberikan dengan satu baris per kod negara. Senarai kod negara yang tersedia untuk negara boleh didapati di lokasi ini. http: // www.akal budi.com / aplikasi / iso3166.
nano / etc / nginx / nginx.pengesahan
geoip_country / usr / share / GeoIP / GeoIP.dat;
peta $ geoip_country_code $ allow_country
lalai ya;
LK tidak;
  1. Buka fail lalai melalui mana-mana penyunting teks (nano lebih disukai kerana cukup mudah diedit dengannya), kemudian tambahkan kandungan sejak 2nd garis ke antara di mana sahaja di blok lokasi dalam fail lalai. Kod ini berfungsi seperti ini, apabila pengunjung membuat permintaan ke pelayan web, nginx mengambil alamat IP dan padanannya dengan rekodnya untuk mencari kod negara masing-masing, jika negara yang disebutkan dalam blok peta sesuai, tidak ada yang ditugaskan untuk Pemboleh ubah $ allow_country, dan dengan itu memeriksa $ allow_country memungkinkan untuk memanipulasi tindak balas. Dalam panduan ini ia tidak menggunakan, dan dengan itu pengunjung dilarang melihat kandungannya. Sekiranya terdapat banyak domain seperti .com, .lk, atau nucuta.com, atau nucuta.net tambahkan kod sejak baris 3 ke setiap "domain".fail conf juga. Sekiranya nginx dikonfigurasi dengan baik, fail ke domain masing-masing terletak di folder yang tersedia di laman web.
nano / etc / nginx / laman web-tersedia / lalai
jika ($ allow_country = tidak)
pulangan 444;
  1. Mulakan semula pelayan nginx dengan arahan berikut. Selepas ini, mengakses pelayan web dari mana-mana domain sri lankan (LK) menyebabkan pelayan web tidak mengembalikan apa-apa seperti yang dilihat dalam tangkapan skrin berikut. 444 dalam nginx tidak mewakili apa-apa. Sebarang kod lain seperti 302, 301, 404 juga boleh digunakan di sini. Sekiranya 302,301 ditentukan, URL untuk mengarahkan pelawat juga harus dinyatakan.
systemctl mulakan semula nginx

Kesimpulannya

Menyekat pengunjung berdasarkan geografi mereka sangat penting bagi beberapa perniagaan untuk berfungsi kerana pelbagai peraturan dan peraturan wilayah. Nginx memenuhi keperluan tersebut dengan modul geo_ipnya. Ia menggunakan pangkalan data maxmind untuk mencari negara dengan alamat ip pengunjung. Pangkalan data berfungsi dengan Ipv4, dan ipv6. Oleh kerana maxmind menghentikan format pangkalan data datanya, satu-satunya cara untuk menggunakan data mereka adalah dengan menukar format fail baru ke fail dat atau menggunakan yang sudah ditukar atau menggunakan modul pihak ketiga untuk Nginx untuk menyokong format fail mmdb. Skrip python yang disediakan di sini sangat sesuai untuk penukaran walaupun memerlukan sedikit masa untuk melihat hasilnya. Maxmind menjamin ketepatan lebih 99% dalam mencari negara berdasarkan IP; oleh itu ia mesti mempunyai alat untuk perniagaan apa pun.

Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...