Cara Agar Mysql Diakses Hanya Menggunakan Ip Tertentu Nginx


Cara Agar Mysql Diakses Hanya Menggunakan IP Tertentu – Nginx

Apa itu Nginx?

Nginx adalah salah satu server web populer di seluruh dunia. Nginx telah menjadi pilihan yang populer di antara kebanyakan pengembang web karena kemampuan manajemen sumber daya yang superior, keandalan yang telah terbukti dalam lingkungan yang berbelit-belit, dan kapasitas untuk memproses request yang lebih cepat daripada tentu saja solusi lainnya.

Nginx memiliki pintu masuk dan konfigurasi yang sangat fleksibel yang memungkinkan Anda memilih bagaimana pengaturan ini akan direncanakan. Sebagai contoh, Anda dapat menggunakan Nginx untuk mensetel server web anda untuk hanya mengizinkan akses dari pilihan IP tertentu. Inilah topik yang akan kita bahas di artikel ini.

Mempersiapkan Nginx untuk Membatasi Akses IP

Kami akan menggunakan pengaturan Nginx yang dikonfigurasi untuk membatasi akses ke MySQL server hanya dari daerah IP yang Anda tentukan. Dengan demikian, klien yang dibatasi tentu saja dapat mengakses SQL Server Anda hanya jika mereka berada dalam daerah IP yang Anda pilih.

Untuk mulai mengatur konfigurasi Nginx, kami akan membuat sebuah file konfigurasi di lingkungan Nginx Anda. Kami akan menamai file ini ‘example.conf’. Kami akan ubah file standar untuk mengizinkan hanya akses dari daerah yang ditentukan. Kami akan menambahkan baris berikut ke example.conf:


location ^~ /mysql/ {
auth_basic off;
allow 127.0.0.1/32;
deny all;
}

Di sini, Anda dapat mengganti 127.0.0.1/32 dengan daerah IP yang ditentukan. Misalnya, jika Anda ingin mengizinkan akses hanya dari jaringan pribadi Anda, Anda dapat menggantinya dengan alamat IP jaringan Anda sendiri.

Setelah Anda menyimpan file konfigurasi Nginx Anda, Anda harus melakukan tes konfigurasi. Ini dapat dilakukan dengan menjalankan perintah berikut:

sudo nginx -t -c example.conf

Di sini, kami memeriksa tautan antara file konfigurasi Nginx kami (example.conf) dengan server Nginx. Jika Anda mendapatkan respon positif dari perintah ini, Anda harus me-reload Nginx dengan perintah:

sudo nginx -s reload

Setelah Anda me-reload server Nginx, setiap request yang datang ke MySQL server Anda harus berada dalam daerah IP yang Anda tetapkan. Apapun yang datang dari luar daerah yang Anda tentukan di dalam file konfigurasi Nginx Anda akan ditolak.

Mengatur Otentikasi MySQL dengan Daerah IP yang Tertentu

Selanjutnya, Anda akan harus mengkonfigurasi MySQL untuk membatasi akses hanya dari daerah IP yang Anda tentukan. Untuk melakukan ini, Anda harus mengedit file /etc/my.cnf. Untuk mengedit file konfigurasi MySQL, gunakan perintah berikut:

sudo nano /etc/my.cnf

Di sini, Anda akan melihat baris kode berikut:


[mysqld] ...
...
bind-address = 0.0.0.0
...
...

Ganti 0.0.0.0 dengan alamat IP yang Anda tentukan. Jika Anda menggunakan beberapa IP untuk diberi izin akses, gunakan format berikut:


[mysqld] ...
...
bind-address = 0.0.0.0, 1.2.3.4
...
...

Bagian ini akan memberitahu MySQL Anda untuk hanya menerima permintaan dari daerah IP yang Anda tentukan. Jika ada request yang datang dari luar daerah IP yang ditentukan, ia akan ditolak.

Setelah Anda menyimpan file konfigurasi Anda, Anda harus me-reload MySQL. Anda dapat menggunakan perintah berikut untuk melakukannya:

sudo service mysql restart

Anda telah berhasil mengizinkan akses hanya dari daerah IP tertentu ke server MySQL Anda. Pengaturan ini akan memastikan bahwa permintaan hanya bisa ditanggapi jika datang dari alamat IP yang ditentukan.

Menggunakan Firewall untuk Membatasi Akses IP

Selain Nginx dan MySQL, Anda dapat menggunakan firewall untuk membatasi akses layanan ke daerah IP yang ditentukan. Untuk menggunakan firewall ini, Anda harus memastikan bahwa firewall telah diinstal dan diaktifkan pada sistem Anda. Misalkan Anda menggunakan ufw (Uncomplicated Firewall):

sudo ufw enable

UFW akan berfungsi jika Anda menggunakan distro Linux Ubuntu. Setelah Anda mengaktifkan UFW, Anda harus menambahkan aturan yang akan menjalankan pembatasan terhadap daerah IP yang ditentukan. Ini dapat dilakukan dengan menambahkan baris berikut ke ufw Anda:


sudo ufw allow from 0.0.0.0 to any port 3306

Di sini, ganti daerah IP (0.0.0.0) dengan alamat IP yang Anda tentukan. Ini akan mengizinkan hanya permintaan yang datang dari daerah IP yang ditentukan untuk mengakses port 3306 (Port MySQL).

Tentang Sol

Leave a Reply

Your email address will not be published. Required fields are marked *