Server proxy standar hanya berfungsi sesuai permintaan klien mereka dengan menyediakan penyaringan dan privasi konten. Ketika kita berbicara tentang server proxy terbalik, ia bekerja atas nama permintaan server, digunakan untuk mencegat dan merutekan lalu lintas ke server terpisah. Fitur proxy ini berguna untuk distribusi beban dan meningkatkan kinerja di antara berbagai server yang tersedia. Ini menunjukkan semua konten yang diambil dari situs online yang berbeda. Dengan menggunakan metode proxy, Anda dapat meneruskan permintaan pemrosesan ke aplikasi server melalui protokol tertentu selain HTTP.
Ada banyak alasan mengapa Anda mungkin menginstal proxy terbalik. Salah satu alasan penting adalah privasi konten. Metode proxy terbalik menyediakan satu titik terpusat untuk berhubungan dengan klien. Ini dapat memberi Anda fitur logging terpusat dan dapat melaporkan di beberapa server. Nginx dengan cepat memproses konten statis dan meneruskan permintaan dinamis ke server Apache; fitur ini meningkatkan kinerja secara keseluruhan.
Pada artikel ini, kita akan belajar cara mengatur proxy terbalik di Nginx.
Prasyarat
Anda harus memiliki akses ke akun root atau pengguna yang dapat menjalankan perintah sudo.
Membuat Server Proxy Terbalik Nginx
Untuk menyiapkan server proxy Nginx yang baru, Anda harus mengikuti langkah-langkah berikut di sistem Anda:
Langkah 1: Instal Nginx
Buka aplikasi terminal lalu buka file /etc/apt/source.daftar di editor teks favorit Anda dan kemudian tambahkan baris yang diberikan di bawah ini di akhir file ini. Di baris ini, Anda perlu mengganti 'CODENAME' dengan rilis Ubuntu Anda, yang Anda gunakan di sistem Anda. Misalnya, kami memiliki Ubuntu 20.04 fossa fokus pada sistem ini. Sp, masukkan Focal untuk menggantikan 'CODENAME'.
deb http://nginx.org/packages/mainline/ubuntu/CODENAME nginxdeb-src https://nginx.org/packages/mainline/ubuntu/
Selanjutnya, Anda harus mengimpor kunci penandatanganan repositori paket berikut dan kemudian menambahkannya ke repositori apt:
$ sudo wget http://nginx.org/keys/nginx_signing.kunci$ sudo apt-key tambahkan nginx_signing.kunci
Sekarang, perbarui paket manajer apt dan instal rilis terbaru Nginx di sistem Anda dari repositori apt resmi dengan menjalankan perintah berikut:
$ sudo apt update$ sudo untuk menginstal nginx
Sekarang, mulai dan aktifkan server Nginx dengan menggunakan perintah berikut:
$ sudo systemctl mulai nginx$ sudo systemctl aktifkan nginx
$ sudo systemctl status nginx
Langkah 2: Konfigurasi untuk Nginx Reverse Proxy
Buat file konfigurasi baru custom_proxy /etc/nginx/conf.d/custom_proxy.conf lalu tempelkan baris kode berikut di dalamnya:
servermendengarkan 80;
dengarkan [::]:80;
nama_server contoh saya.com;
lokasi /
proxy_pass http://localhost:3000/;
Arahan 'proxy_pass' yang ditentukan di dalam lokasi menjadikan konfigurasi ini sebagai proxy terbalik. Baris ini proxy_pass http://localhost:3000/ mengarahkan semua permintaan yang cocok dengan lokasi root/path harus diteruskan ke port 3000 di localhost tempat situs web domain Anda berjalan.
Untuk mengaktifkan dan menautkan file konfigurasi baru, jalankan perintah yang disebutkan di bawah ini:
$ln -s /etc/nginx/conf.d/custom_server.konfLangkah 3: Konfigurasi Uji
Sekarang, uji konfigurasi di atas dengan menggunakan perintah berikut:
$ sudo nginx -tSetelah berhasil menguji, jika tidak ada bug yang dilaporkan, muat ulang konfigurasi Nginx yang baru.
$ sudo nginx -s reloadKonfigurasikan Buffer
Konfigurasi di atas sudah cukup untuk membuat server proxy terbalik dasar. tetapi, untuk aplikasi yang kompleks, Anda perlu mengaktifkan beberapa opsi lanjutan, yang diberikan di bawah ini:
lokasi /proxy_pass http://localhost:3000/;
proxy_buffering mati;
Konfigurasi-Permintaan header
lokasi /proxy_pass http://localhost:3000/;
proxy_set_header X-Real-IP $remote_addr;
Dalam contoh di atas, $remote_addr mengirimkan alamat IP klien ke host proxy.
Kesimpulan
Dari detail yang disebutkan di atas, Anda dapat memahami cara membuat proxy terbalik Nginx. Alat ini bagus untuk beberapa lingkungan server. Coba semua konfigurasi ini di sistem Anda untuk pemahaman yang lebih baik.