Apa itu Proksi Terbalik?
Server proxy standar bekerja atas nama klien, seringkali dengan menyediakan privasi atau memfilter konten. Proxy terbalik bekerja atas nama server, mencegat lalu lintas dan merutekannya ke server terpisah.
Ada beberapa alasan Anda mungkin ingin menginstal proxy terbalik. Salah satu alasan utamanya adalah privasi.
Jika Anda memiliki beberapa server, proxy terbalik dapat membantu menyeimbangkan beban antar server dan meningkatkan kinerja. Karena proxy terbalik menyediakan satu titik kontak untuk klien, proxy ini dapat memusatkan pencatatan dan pelaporan di beberapa server.
Nginx dapat meningkatkan kinerja dengan menyajikan konten statis dengan cepat dan meneruskan permintaan konten dinamis ke server Apache.
Panduan ini akan membantu Anda menginstal dan mengonfigurasi proxy terbalik Nginx di sistem Anda.
Prasyarat
- Server Linux dengan Apache, PHP, dan firewall
- Akses ke pengguna root dengan sudo akses
- Baris perintah atau terminal Linux (Ctrl –Altern –B untuk Ubuntu, Alt –F2 untuk CentOS)
- Manajer paket (seperti APT)
Menyiapkan Proksi Terbalik Nginx
Langkah 1:Instal Nginx dari Repositori Default
Buka jendela terminal dan masukkan berikut ini:
sudo apt-get update
Biarkan pengelola paket menyelesaikan penyegaran daftar perangkat lunak, lalu masukkan yang berikut ini:
sudo apt-get install nginx
Biarkan prosesnya selesai.
Langkah 2 (opsional):Instal Nginx dari Repositori Resmi
Tambahkan Kunci Keamanan
Di jendela terminal, masukkan berikut ini:
sudo wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
Tindakan ini akan mengunduh kunci penandatanganan untuk Nginx, yang memverifikasi bahwa Anda mengunduh perangkat lunak asli.
Buka sources.list Berkas untuk Diedit
Di terminal, masukkan berikut ini:
sudo vi /etc/apt/sources.list
Tambahkan Sumber Nginx ke Daftar Repositori
Masukkan baris berikut di /etc/apt/sources.list
file yang baru saja Anda buka:
deb https://nginx.org/packages/mainline/debian/ <CODENAME> nginx
deb-src https://nginx.org/packages/mainline/debian/ <CODENAME> nginx
Ganti <CODENAME>
dengan nama kode untuk distribusi Debian Anda.
Simpan file dan keluar .
Instal Nginx Rilis Terbaru
Untuk menginstal rilis terbaru Nginx, gunakan perintah:
sudo apt-get remove nginx-common
sudo apt-get update
sudo apt-get install nginx
Langkah 3:Mulai Nginx dan Konfigurasikan untuk Diluncurkan saat Reboot
Untuk memulai Nginx:
sudo systemctl start nginx
Untuk mengaktifkan Nginx:
sudo systemctl enable nginx
Untuk memeriksa apakah Nginx sedang berjalan:
sudo systemctl status nginx
Outputnya akan menunjukkan kepada Anda bahwa layanan aktif (berjalan) , seperti pada gambar di bawah ini:
Langkah 4:Putuskan Tautan File Konfigurasi Default
Di terminal, masukkan berikut ini:
sudo unlink /etc/nginx/sites-enabled/default
Langkah 5:Buat File Konfigurasi Baru
Untuk membuat file konfigurasi baru, masukkan:
cd /etc/nginx/sites-available/
sudo vi custom_server.conf
Ganti custom_server
dengan nama yang berarti bagi Anda. Di file baru, masukkan:
server {
listen 80;
location / {
proxy_pass http://my_server;
}
}
Ini adalah contoh proxy terbalik Nginx yang sangat mendasar. Nginx disetel untuk mendengarkan semua lalu lintas di port 80 untuk semua lalu lintas.
proxy_pass
perintah mengarahkan semua lalu lintas pada port 80 ke http://my_server
. Cukup ubah http://my_server
ke lokasi pilihan Anda, dan Nginx akan mencegat permintaan klien dan mengarahkannya ke lokasi yang Anda tentukan. Setelah selesai, simpan file dan keluar.
Langkah 6:Tautkan dan Aktifkan File Konfigurasi
Untuk mengaktifkan file Nginx baru, masukkan:
ln -s /etc/nginx/sites-available/custom_server.conf
/etc/nginx/sites-enabled/custom_server.conf
Seperti biasa, ganti custom_server
dengan nama file konfigurasi yang Anda buat di Langkah 5.
Langkah 7:Uji dan Mulai Ulang Nginx
Untuk menguji Nginx:
sudo service nginx configtest
Untuk memulai ulang Nginx:
sudo service nginx restart
Opsi Konfigurasi Nginx Opsional
Buffer Proxy
Secara default, Nginx menyangga lalu lintas untuk server yang diproksinya. Buffer meningkatkan kinerja server karena respons server tidak dikirim sampai klien selesai mengirim respons lengkap.
Untuk mematikan buffer, buka file konfigurasi dari Langkah 5. Di bawah lokasi/bagian , tambahkan berikut ini:
proxy_buffering off;
Tajuk Permintaan
Header memberikan informasi server tentang permintaan yang dibuat, atau tentang klien.
Nginx mengubah dua bidang header:host
dikonfigurasi untuk $proxy_host
, dan connection
dikonfigurasi untuk close
. Jika Anda menggunakan header tersebut, pastikan untuk mengubah perilaku di file konfigurasi.
Jika ada string header yang kosong, Nginx hanya menghilangkan kolom tersebut.
Untuk mengubah cara Nginx menangani heather, gunakan perintah berikut di file konfigurasi Anda:
location / {
proxy_set_header Host $host;
}
Contoh ini memberi tahu Nginx untuk menyetel host
ke $host
variabel.
Untuk mencegah bidang header diteruskan ke server proxy, gunakan string kosong sebagai berikut:
location / {
proxy_set_header header-variable "";
}
Penyeimbangan Beban
Anda dapat menggunakan file konfigurasi untuk mengarahkan lalu lintas ke beberapa server. Untuk menggunakan konfigurasi ini, file konfigurasi Anda akan terlihat seperti contoh ini:
http {
server {
proxy_pass http://my_server
}
}
Dengan kata lain, konfigurasi HTTP keluar dari konfigurasi server dari Langkah 5.
Untuk membuat nama grup server, Gunakan upstream
perintah:
http {
upstream server_group {
server my.server1.com weight=3;
server my.server2.com;
}
server {
location / {
proxy_pass http://server_group;
}
}
}
Penunjukan ini membutuhkan dua server – my.server1.com
dan my.server2.com
- dan menyatukannya. Nginx mem-proxy grup server tersebut dengan nama http://server_group
. Anda dapat mengganti namanya sesuka Anda.
Contoh ini menggunakan weight
perintah untuk merutekan tiga permintaan ke my.server1.com
, lalu 1 permintaan ke my.server2.com
. Ini adalah salah satu opsi untuk menyeimbangkan beban klien antar server secara manual. Metode lain adalah dengan menghilangkan penunjukan apa pun, di mana Nginx akan melakukan round-robin permintaan secara merata di antara server yang terdaftar.