GNU/Linux >> Belajar Linux >  >> Linux

Reverse Proxy dengan Nginx:Panduan Pengaturan Langkah-demi-Langkah

Tutorial langkah demi langkah ini akan menunjukkan kepada Anda bagaimana Anda dapat dengan mudah menyiapkan proxy terbalik dengan Nginx untuk meningkatkan keamanan dan kinerja.

Salah satu alat proxy terbalik yang lebih populer saat ini adalah Nginx. Meskipun Nginx sendiri adalah server web, ia melakukan pekerjaan luar biasa sebagai proxy terbalik.

Apa itu Proksi Terbalik?

Proxy terbalik adalah server yang berada di antara aplikasi internal dan klien eksternal, meneruskan permintaan klien ke server yang sesuai.

Layanan proxy terbalik bertindak sebagai front-end, menangani semua permintaan klien yang masuk, dan mendistribusikannya ke web back-end, database, atau server lain.

Menggunakan Nginx sebagai proxy terbalik memberi Anda beberapa manfaat tambahan:

  • Keseimbangan Beban – Nginx dapat melakukan penyeimbangan beban untuk mendistribusikan permintaan klien di seluruh server proksi, meningkatkan kinerja, skalabilitas, dan keandalan.
  • Keamanan yang Lebih Baik – Dengan proxy terbalik, klien tidak akan memiliki informasi tentang server backend kami, jadi tidak mungkin klien jahat tidak dapat mengaksesnya secara langsung untuk mengeksploitasi kerentanan apa pun. Dari sudut pandang klien, ini membuatnya tampak seolah-olah semuanya berasal dari satu tempat.
  • Performa Lebih Baik – Dengan Nginx sebagai proxy terbalik, Anda dapat men-cache versi halaman yang telah dirender sebelumnya untuk mempercepat waktu pemuatan halaman. Ini bekerja dengan menyimpan konten yang diterima dari respons server proxy dan menggunakannya untuk menanggapi klien tanpa menghubungi server proxy untuk konten yang sama setiap saat.
  • Penghentian SSL – Nginx dapat bertindak sebagai titik akhir SSL untuk koneksi dengan klien. Ini akan menangani dan mendekripsi koneksi SSL yang masuk dan mengenkripsi respons server proksi.

Cara Menyiapkan Proksi Terbalik dengan Nginx

1. Menginstal Nginx

Nginx adalah suite server web paling populer yang digunakan di internet. Ini dapat berfungsi sebagai server proxy terbalik dengan mengarahkan lalu lintas web ke server tertentu.

Mari saya tunjukkan cara menginstal Nginx di berbagai distribusi Linux.

Untuk menginstal Nginx di Debian, Ubuntu, Linux Mint, Kali, dan turunan Debian atau Ubuntu lainnya, jalankan perintah berikut:

sudo apt update
sudo apt install nginx

Di Fedora, CentOS, Red Hat, dan turunan Fedora atau Red Hat lainnya, jalankan perintah berikut:

sudo dnf upgrade
sudo dnf install nginx

Untuk menginstal Nginx di Arch Linux, Manjaro, dan turunan Arch lainnya, jalankan perintah berikut:

sudo pacman -Syu
sudo pacman -S nginx

Setelah instalasi selesai, Anda dapat memverifikasi bahwa Nginx diinstal dengan benar dengan memeriksa versi perangkat lunak. Masukkan berikut ini:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

2. Mengonfigurasi Nginx

Kami telah memasang situs utama di example.com nama domain di server yang sama yang menjalankan Nginx kami. Namun, situs blog WordPress kami dipasang di blog.example.com subdomain pada server berbeda dengan alamat IP 127.0.1.10 .

Kita perlu mengonfigurasi proxy terbalik dengan Nginx untuk permintaan proxy untuk blog.example.com subdomain sehingga semua permintaan diteruskan ke 127.0.1.10 . Untuk melakukannya, ikuti langkah-langkah yang ditunjukkan di bawah ini.

1. Nonaktifkan host virtual Nginx default yang telah dikonfigurasi sebelumnya:

unlink /etc/nginx/sites-enabled/default

2. Masuk ke direktori /etc/nginx/sites-available dan buat file konfigurasi proxy terbalik.

cd /etc/nginx/sites-available
sudo vim example.conf

Rekatkan konfigurasi Nginx berikut.

server {
        listen 80;
        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
}

server {
        listen 80;
        server_name blog.example.com;

        location / {
                proxy_pass http://127.0.1.10:80;
        }
}

Seperti yang Anda lihat,  Anda dapat terus menjalankan example.com pada instance Nginx yang sama, tetapi Nginx akan mengalihkan semua koneksi masuk untuk blog.example.com pada port 80 ke 127.0.1.10 server, mendengarkan pada port 80 .

3. Simpan file lalu aktifkan dengan membuat symlink:

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

4. Uji Nginx untuk menemukan kesalahan konfigurasi:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5. Jika tidak ada kesalahan, mulai ulang Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

Luncurkan browser web dan buka URL blog WordPress Anda. Anda akan diproksi melalui Nginx ke 127.0.1.10 , menghosting blog WordPress Anda.

Selamat, Anda telah berhasil menyiapkan Nginx untuk berfungsi sebagai proxy terbalik. Sekarang Anda dapat mengarahkan lalu lintas yang seharusnya menuju server target ke server proxy terbalik, yang akan berakhir di tujuan yang benar.

Anda dapat mempelajari lebih lanjut semua perintah proxy terbalik di indeks arahan terperinci Nginx.

Kesimpulan

Sekarang Anda tahu cara menyiapkan proxy terbalik dengan Nginx. Seperti yang Anda lihat, konfigurasi proxy terbalik Nginx adalah proses yang sederhana. Namun, tentu saja, ada banyak cara untuk menginstal dan mengkonfigurasinya, yang sepenuhnya bergantung pada kebutuhan Anda.


Linux
  1. Cara Mengatur Proksi Terbalik Nginx

  2. Cara Menginstal Odoo 10 di CentOS 7 dengan Nginx sebagai Proxy Terbalik

  3. Cara Menginstal Flectra di Ubuntu 20.04 dengan Nginx sebagai Proxy Terbalik

  1. Cara Menginstal Odoo 12 di Ubuntu 18.04 dengan Nginx sebagai Proxy Terbalik

  2. Instal Odoo di VPS Debian 8 dengan Nginx sebagai proxy terbalik

  3. Cara Menginstal Odoo 11 di Debian 9 dengan Nginx sebagai Proxy Terbalik

  1. Cara menginstal Odoo 11 di CentOS 7 dengan Nginx sebagai Proxy Terbalik

  2. Cara Menginstal Flectra di CentOS 8 dengan Nginx sebagai Proxy Terbalik

  3. Cara Menginstal Odoo 12 di Debian 10 dengan Nginx sebagai Proxy Terbalik