Tutorial Cara Konfigurasi Nginx Reverse Proxy

Tutorial Cara Konfigurasi Nginx Reverse Proxy
Avatar for Titis Nur Pratomo
  • September 17, 2023

Ada banyak teknologi untuk membuat proses membangun dan memelihara situs web semudah mungkin mulai dari CMS (Content Management System) untuk mempublikasikan konten situs Anda, penyedia hosting layanan lengkap yang memberi hosting, dan bahkan pembuat situs web yang dapat menangani hampir setiap aspek situs Anda.

Dalam posting ini, kita akan mengeksplorasi metode umum lain yang dimanfaatkan oleh bisnis untuk menjalankan situs web yang aman dan berkinerja tinggi – ini disebut reverse proxy.

Apa Itu Reverse Proxy?

Reverse proxy adalah server yang berada di depan server web dan meneruskan permintaan klien ke server web tersebut. Reverse proxy biasanya diterapkan untuk membantu meningkatkan keamanan, kinerja, dan keandalan. Proxy ini memberikan lapisan keamanan dan kinerja tambahan untuk mengoptimalkan website atau layanan web.

Reverse proxy bekerja dengan mencegat permintaan dari klien, melakukan beberapa tindakan pada permintaan, kemudian mengirim permintaan ke origin server yang sesuai dengan jaringan. Respons origin server kemudian berjalan kembali melalui reverse proxy. Ini memberi kesan kepada klien bahwa server proxy yang menangani permintaan klien sendiri. 

Jika anda menjalankan website, anda dapat menganggap reverse proxy sebagai pintu gerbang antara klien dan website anda. Ini berarti, klien hanya berkomunikasi langsung dengan server reverse proxy anda dan bukan langsung berkomunikasi dengan origin server yang menampung infrastruktur dan data pribadi situs anda. Sistem ini memiliki sejumlah keuntungan yang akan segera kira bahas.

Baca Juga:   Apa Itu Propagasi? Pengertian, Fungsi dan Cara Menggunakannya!

Manfaat Reverse Proxy

Load Balancing

Website populer yang mendapatkan jutaan pengguna setiap hari mungkin tidak dapat menangani semua traffic situs yang masuk dengan origin server tunggalnya. Sebaliknya, situs dapat didistribusikan diantara kumpulan server yang berbeda dan semuanya menangani permintaan untuk situs yang sama. 

Dalam hal ini, reverse proxy memberikan solusi load balancing yang akan mendistribusikan traffic masuk secara merata diantara server yang berbeda untuk mencegah server tunggal menjadi kelebihan beban. Jika server gagal sepenuhnya, server lain dapat menangani traffic.

Perlindungan dari Serangan

Dengan reverse proxy, website atau layanan tidak perlu mengungkapkan IP address origin server mereka. Hal ini membuat lebih sulit bagi hacker untuk memanfaatkan serangan yang ditargetkan kepada mereka, seperti misalnya serangan DDoS. sebaliknya, hacker hanya akan dapat menargetkan reverse proxy yang tentunya memiliki keamanan yang lebih ketat dan lebih banyak sumber daya untuk menangkis serangan cyber.

Caching

Reverse proxy juga dapat menyimpan konten dalam cache yang akan menghasilkan kinerja yang lebih cepat. Misalnya, jika pengguna di Indonesia mengunjungi reverse proxied website dengan server web di Swedia, pengguna mungkin benar – benar terhubung ke server reverse proxy lokal di Indonesia. Server ini kemudian harus berkomunikasi dengan origin server di server proxy Swedia kemudian dapat menyimpan cache (menyimpan sementara) data respons.

Pengguna Indonesia selanjutnya yang menelusuri situs kemudian akan mendapatkan versi cache lokal dari server reverse proxy Indonesia, yang menghasilkan kinerja yang jauh lebih cepat.

Enkripsi SSL

Mengenkripsi dan mendekripsi komunikasi SSL (atau TLS) untuk setiap klien dapat menjadi komputasi yang mahal untuk origin server. Reverse proxy dapat dikonfigurasi untuk mendekripsi semua permintaan masuk dan mengenkripsi semua respons keluar, membebaskan sumber daya berharga di origin server.

Baca Juga:   Mengapa Harus Menggunakan Dedicated Server?

Keuntungan Menggunakan Nginx Reverse Proxy

Aman

Ini dapat memberikan perlindungan terhadap serangan server web seperti DDoS dan DoS. Selain itu, enkripsi SSL juga dapat diterapkan dengan benar untuk melindungi privasi konten Anda.

Cepat

Nginx reverse proxy membantu menyeimbangkan beban antar server backend, membuat proses transfer data lebih stabil. Ini juga menyediakan caching untuk pemrosesan data yang lebih optimal. Selain itu, fitur kompresi mempercepat transfer data. 

Sederhana

Dengan Nginx, Anda tidak perlu menyiapkan proses baru untuk setiap permintaan web dari klien Anda. Hal ini karena konfigurasi standar mencakup satu proses kerja per CPU. 

Fleksibel

Nginx juga dapat bertindak sebagai server proxy terbalik untuk berbagai protokol. Contoh: HTTP, HTTPS, UDP, TCP, IMAP, SMTP, POP3. 

Dapat diandalkan (reliable)

Server ini dapat menangani lebih dari 10.000 koneksi dengan penggunaan memori yang rendah. Selain itu, Nginx dapat mengoperasikan beberapa server web dari satu alamat IP. Kemudian mengirimkan setiap permintaan ke server terkait di LAN.

Ideal untuk testing

Server proxy Nginx memungkinkan Anda menjalankan eksperimen acak dan pengujian A/B tanpa memasukkan kode JavaScript apa pun di halaman Anda.

Cara Konfigurasi Nginx Reverse Proxy

Di bagian ini, kita akan mengkonfigurasi Nginx di server web Apache yang menjalankan Ubuntu 18.04. Mengapa menggunakan Nginx dan Apache secara bersamaan? Karena keduanya merupakan server yang kuat dan efektif. Apache terkenal dengan stabilitasnya, sedangkan Nginx lebih baik dalam hal kecepatan. Dengan cara ini, transfer data bisa lebih cepat, aman, dan stabil. Selanjutnya, tentukan alamat IP server proxy Nginx sebagai 192.x.x.1 dan alamat IP server Apache backend sebagai 192.x.x.2.

Jika Anda belum menginstal Nginx di sistem Anda, mulailah dengan langkah pertama di bawah ini.

Baca Juga:   cURL Command Adalah : Fungsi & Cara Penggunaannya!

1. Menginstall Nginx

Untuk menginstal dan mengkonfigurasi Nginx, gunakan perintah berikut:

sudo apt-get update

sudo apt-get install nginx

2. Mengkonfigurasi Nginx

Selanjutnya, buka konfigurasi Nginx menggunakan perintah berikut:

sudo nano /etc/nginx/sites-available/example

3. Menonaktifkan Default Virtual Host

Setelah menginstal dan mengkonfigurasi Nginx, nonaktifkan virtual host dengan mengikuti perintah:

sudo unlink /etc/nginx/sites-enabled/default

4. Membuat Nginx Reverse Proxy

Jika default virtual hostnya telah dinonaktifkan, langkah selanjutnya yang harus anda lakukan adalah membuat file reverse-proxy pada direktori etc/nginx/sites-available untuk menyimpan informasi proxy. Anda dapat mengakses direktorinya dengan menggunakan command dibawah ini:

cd etc/nginx/sites-available/

Setelah itu, anda dapat mulai membuat filenya dengan Vi Editor berikut:

vi reverse-proxy.conf

Pada file diatas, tulis command line seperti contoh dibawah ini:

server 

{

listen 80; location / {

proxy_pass http://192.x.x.2;

  }

}

Pada perintah di atas, Anda dapat melihat bahwa jalur proksi memungkinkan permintaan yang diterima melalui Nginx untuk diteruskan ke soket jarak jauh Apache 192.x.x.2:80. Artinya kedua web server Nginx dan Apache memiliki konten yang sama.

Setelah Anda selesai membuat perintah ini, simpan file dan keluar dari editor Vi. Untuk melakukannya, ketik:wq.

Sekarang, untuk mentransfer informasi ke server lain, Anda dapat menggunakan ngx_http_proxy_module di terminal Anda. Kemudian aktifkan prosedur dengan menautkan ke /sites-enabled/ menggunakan perintah berikut:

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

5. Tes Nginx Reverse Proxy

Terakhir, Anda perlu menguji konfigurasi Nginx Anda dan memulai ulang Nginx untuk memeriksa kinerjanya. Verifikasi fungsionalitas Nginx dengan menulis perintah berikut:

service nginx configtest

service nginx restart

Tertarik Menggunakan VPS dengan teknologi terbaik dari Nevacloud?

Seberapa mudahkah mengkonfigurasi Nginx reverse proxy? Yang paling penting adalah mengikuti langkah-langkah yang benar dan menulis perintah dengan benar. Tunggu apa lagi? Sekarang saatnya menerapkan panduan ini dan meningkatkan kinerja dan keamanan server web Anda. Atau jika anda sedang mencari VPS untuk website anda, Nevacloud punya solusinya! Gunakan VPS dengan teknologi terbaik dari Nevacloud sekarang juga!

Avatar for Titis Nur Pratomo

About Author

Titis Nur Pratomo

SEO Specialist at Deneva | Helping Increase Business Visibility in Search Engine | SEO & WordPress Enthusiast