Nginx

Blok NGINX Berdasarkan Lokasi Geografis

Blok NGINX Berdasarkan Lokasi Geografis
Nginx adalah server web sumber terbuka berkinerja tinggi, ringan, tersedia untuk umum secara gratis. Ini memiliki sejumlah besar fitur berharga dibandingkan dengan server ringan lainnya. Salah satu fitur tersebut adalah geoip_module-nya, yang digunakan untuk mengidentifikasi lokasi geografis dari mana pengunjung berasal. Secara default, digunakan dalam kombinasi dengan data yang disediakan oleh maxmind untuk mengetahui lokasi geografis pengunjung. Keuntungan dari mengidentifikasi lokasi geografis adalah untuk menegakkan kebijakan yang berbeda untuk lokasi geografis yang berbeda, misalnya jika bisnis hanya tersedia untuk negara-negara di Amerika Utara, dengan geoip_module dapat memblokir semua pengunjung lain yang datang dari wilayah lain. Ini memastikan bisnis tidak harus mematuhi aturan, dan peraturan yang diberlakukan oleh berbagai wilayah, seperti GDPR (Peraturan Perlindungan Data Umum).

Penerapan

Meskipun ada banyak cara untuk menerapkan solusi dalam sistem, panduan ini menunjukkan cara termudah untuk mendaftarkannya dengan sedikit usaha.

  1. Jelas, Nginx harus diinstal di sistem sebelum memulai langkah-langkah dalam panduan ini. Namun, menginstal Nginx tidak cukup, karena juga membutuhkan geo_ip_module untuk diinstal juga. Maxmind dulu merilis database mereka dalam format dat, tetapi sejak beberapa waktu yang lalu dirilis dalam format mmdb. Ini membuat Nginx memerlukan geo_ip_module baru bernama ngx_http_geoip2_module. Namun, itu tidak diperlukan karena basis data lama masih cukup. Bagaimanapun, jika nginx tidak diinstal, atur dengan dua perintah berikut.
pembaruan apt-get
apt-get install nginx
  1. Ketik perintah berikut untuk memastikan modul http_geoip diinstal.
nginx -V

  1. Ada beberapa cara untuk memperoleh/membangun database yang berisi alamat IP, dan nama negara, kota masing-masing. Instal database geo_ip dengan perintah berikut. Menggunakan metode ini memudahkan untuk menginstal database geo_Ip di sistem. Namun, cara paling ideal adalah mengunduh salinan baru karena diperbarui dengan informasi terbaru. Jadi, gunakan salah satu dari tiga opsi yang diberikan di bawah ini. Opsi pertama sudah cukup untuk pengguna rata-rata, 2dan opsinya adalah mendapatkan database maxmind terbaru, opsi ketiga mengonversi database mmdb ke format file dat masing-masing.
    Ini memakan waktu, dan sumber daya, dan karenanya tidak disarankan untuk server yang lemah. Namun, jika database yang diperbarui masih diperlukan, maka gunakan opsi 2. Menghemat waktu, dan uang dalam mengonversi file, tetapi keamanannya tidak dapat dijamin karena dikonversi oleh orang lain, bukan oleh pihak resmi mana pun. Opsi 3 memerlukan 3 paket pip, alat penyiapan, ipaddr, dcryptit. Dan menggunakan python 2 untuk memproses skrip. Baris terakhir mengubah arsip zip menjadi .file data. Meskipun disebutkan tentang konversi format file mmdb ke .dat, ini dia benar-benar mengonversi file CSV menjadi a .format file dat, dan karenanya membutuhkan geoname2fips.csv yang disertakan dengan bundel file konversi.

Pilihan 1

apt-get install geoip-database libgeoip1

pilihan 2

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

Opsi 3

cd /rumah/
mkdir geolite2legacy/
git clone https://github.com/sherpya/geolite2legacy
apt-get install python
apt-get install python-pip
pip install setuptools
pip instal ipaddr
pip instal dcryptit
cd /usr/bagikan/
mkdir GeoIP/
cd /usr/share/GeoIP/
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip
pyton /home/geolite2legacy/geolite2legacy.py -i /usr/share/GeoIP/GeoLite2-Country-CSV.zip -f
/home/geolite2legacy/geoname2fips.csv -o /usr/share/GeoIP/GeoLite2-Country.dan
  1. Konfigurasikan file konfigurasi Nginx sebagai berikut. Ketik perintah di baris pertama di terminal Linux seperti biasa, dan salin sisa baris ke nginx.file conf. Pastikan nama yang disebutkan di /usr/share/GeoIP/GeoIP.dan cocok dengan file dat yang disimpan di folder usr/share/GeoIP. Meskipun dalam contoh berikut, ini hanya menentukan satu negara, beberapa kode negara dapat ditentukan sebagai contoh yang diberikan dengan satu baris per kode negara. Daftar kode negara yang tersedia untuk negara dapat ditemukan di lokasi ini. http://www.maxmind.com/app/iso3166.
nano /etc/nginx/nginx.konf
geoip_country /usr/share/GeoIP/GeoIP.itu;
peta $geoip_country_code $allowed_country
default ya;
nomor LK;
  1. Buka file default melalui editor teks apa pun (nano lebih disukai karena cukup mudah untuk mengeditnya), lalu tambahkan konten sejak 2dan baris ke di antara mana saja di blok lokasi di file default. Kode berfungsi seperti ini, ketika pengunjung membuat permintaan ke server web, nginx mengambil alamat IP mereka dan mencocokkan dengan catatannya untuk menemukan kode negara masing-masing, jika negara yang disebutkan di blok peta cocok, no ditetapkan ke variabel $allowed_country, dan dengan demikian memeriksa $allowed_country memungkinkan untuk memanipulasi respons. Dalam panduan ini tidak menggunakan, dan dengan demikian pengunjung ditolak untuk melihat kontennya. Jika ada beberapa domain seperti .com, .lk, atau nucuta.com, atau nucuta.net tambahkan kode sejak baris 3 ke setiap "domain".file conf juga as. Jika nginx dikonfigurasi dengan baik, file ke masing-masing domain terletak di folder yang tersedia di situs.
nano /etc/nginx/sites-available/default
if ($allowed_country = tidak)
kembali 444;
  1. Restart server nginx dengan perintah berikut:. Selanjutnya mengakses server web dari domain sri lankan (LK) mana pun menyebabkan server web tidak mengembalikan apa pun seperti yang terlihat pada tangkapan layar berikut. 444 di nginx tidak mewakili apa-apa. Kode lain seperti 302, 301, 404 juga dapat digunakan di sini. Jika 302,301 ditentukan, URL untuk mengarahkan pengunjung juga harus ditentukan.
systemctl restart nginx

Kesimpulan

Memblokir pengunjung berdasarkan geografi mereka sangat penting bagi beberapa bisnis untuk berfungsi karena berbagai aturan dan peraturan regional. Nginx memenuhi kebutuhan tersebut dengan modul geo_ip-nya. Ini menggunakan database maxmind untuk menemukan negara berdasarkan alamat ip pengunjung. Basis data berfungsi dengan IPv4, dan ipv6. Sejak maxmind menghentikan format database dat lawas mereka, satu-satunya cara untuk menggunakan data mereka adalah dengan mengonversi format file baru ke file dat atau menggunakan yang sudah dikonversi atau menggunakan modul pihak ketiga untuk Nginx untuk mendukung format file mmdb. Skrip python yang disediakan di sini sangat ideal untuk konversi meskipun butuh beberapa saat untuk melihat hasilnya. Maxmind menjamin akurasi lebih dari 99% dalam menemukan negara berdasarkan IP; maka itu adalah alat yang harus dimiliki untuk bisnis apa pun.

Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...