Panduan Lengkap Membangun Proxy Terbalik Nginx yang Aman
Membuat proxy terbalik yang aman, andal, dan skalabel sangat penting bagi bisnis dan profesional TI yang mengelola situs web dengan lalu lintas tinggi atau aplikasi kompleks. Nginx, server web sumber terbuka dan proxy terbalik, merupakan solusi ampuh untuk merutekan, mengoptimalkan, dan mengamankan lalu lintas ke layanan backend Anda. Dalam panduan ini, kami akan memandu Anda melalui proses penyiapan proxy terbalik yang andal menggunakan Nginx di Ubuntu 24.04, yang mencakup langkah-langkah penting seperti enkripsi TLS, pembatasan kecepatan, dan integrasi dengan Cloudflare.
Jika Anda mengelola situs web tingkat perusahaan, platform e-commerce, atau server media, panduan ini akan memberdayakan Anda untuk meningkatkan kinerja, memastikan waktu aktif, dan melindungi infrastruktur Anda dari kerentanan.
Apa itu Nginx Reverse Proxy?
Proksi terbalik Nginx bertindak sebagai server perantara antara klien dan layanan backend. Proksi ini meneruskan permintaan klien ke server backend yang sesuai, mengoptimalkan distribusi beban, meningkatkan keamanan, dan mengaktifkan fitur-fitur seperti caching, penghentian SSL, dan pemfilteran lalu lintas. Pengaturan ini sangat berguna untuk menghosting server media, aplikasi multi-situs, dan layanan di balik firewall.
sbb-itb-59e1987
Mengapa Anda Membutuhkan Proxy Terbalik
Proksi terbalik memberikan beberapa manfaat utama:
- Keamanan yang Ditingkatkan: Menyembunyikan IP server backend dan mengaktifkan enkripsi melalui TLS/SSL.
- Penyeimbangan Beban: Mendistribusikan lalu lintas secara merata ke beberapa server backend.
- Optimasi: Mengurangi latensi dan meningkatkan efisiensi sumber daya.
- Skalabilitas:Memudahkan pengelolaan skenario lalu lintas tinggi.
- Kemudahan Manajemen: Menyederhanakan konfigurasi beberapa layanan backend di belakang domain terpadu.
Dalam tutorial ini, kami akan menunjukkan cara:
- Siapkan Nginx sebagai proksi terbalik.
- Amankan pengaturan Anda dengan sertifikat TLS Let's Encrypt.
- Konfigurasikan pengoptimalan lanjutan seperti pembatasan kecepatan dan penerusan permintaan.
- Integrasikan Cloudflare untuk melewati pembatasan port ISP.
Langkah 1: Menginstal Nginx dan Certbot di Ubuntu 24.04
Perbarui Sistem Anda
Sebelum memasang perangkat lunak apa pun, pastikan sistem Anda sudah diperbarui:
sudo apt perbarui dan sudo apt peningkatan Instal Nginx dan Certbot
Gunakan perintah berikut untuk menginstal Nginx dan Certbot dengan plugin Nginx:
sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y Verifikasi Instalasi
Konfirmasikan bahwa Nginx sedang berjalan:
sudo systemctl status nginx Untuk menguji akses, tentukan alamat IP server Anda:
ip a Kunjungi alamat IP di peramban. Jika berhasil, Anda akan melihat halaman selamat datang Nginx default.
Langkah 2: Mengonfigurasi Aturan Firewall
Aktifkan Uncomplicated Firewall (UFW)
UFW memungkinkan Anda mengelola aturan firewall dengan mudah:
sudo ufw izinkan 'Nginx Full' sudo ufw izinkan OpenSSH sudo ufw aktifkan Periksa status firewall Anda untuk memastikan port yang benar terbuka:
sudo ufw status Langkah 3: Menyiapkan Konfigurasi Proxy Nginx
Buat File Konfigurasi Kustom
Untuk fleksibilitas dan keamanan yang lebih baik, gunakan file snippet untuk menyimpan konfigurasi tertentu. Buat file berikut:
- Header Keamanan:
Tentukan header keamanan untuk meningkatkan perlindungan:sudo nano /etc/nginx/snippets/security-headers.conftambahkan_header X-Frame-Options "SAMEORIGIN"; tambahkan_header X-Content-Type-Options "nosniff"; tambahkan_header X-XSS-Protection "1; mode=blokir"; - Pengaturan Proksi:
Optimalkan aliran panjang dan cegah respons lambat:sudo nano /etc/nginx/snippets/proxy.confproxy_connect_timeout 60dtk; proxy_send_timeout 60dtk; proxy_read_timeout 60dtk; - Batas Kecepatan:
Mengurangi permintaan yang berlebihan:sudo nano /etc/nginx/snippets/rate-limit.conflimit_req_zone $binary_remote_addr zona=mylimit:10m kecepatan=10r/s;
Sertakan Cuplikan dalam Konfigurasi Utama
Edit konfigurasi Nginx utama:
sudo nano /etc/nginx/nginx.conf Tambahkan yang berikut di bawah http memblokir:
sertakan /etc/nginx/snippets/*.conf; Mulai ulang Nginx untuk menerapkan perubahan:
sudo systemctl memuat ulang nginx Langkah 4: Menyiapkan Proxy Terbalik untuk Layanan Backend
Buat Host Virtual
Buat file konfigurasi untuk layanan backend Anda:
sudo nano /etc/nginx/situs-tersedia/jellyfin Contoh konfigurasi untuk server media Jellyfin:
server { mendengarkan 80; nama_server jelly.domain_anda.com; lokasi / { sandi_proksi http://10.10.0.112:8096; sertakan /etc/nginx/snippets/proxy.conf; } } Aktifkan situs dengan membuat tautan simbolis:
sudo ln -s /etc/nginx/situs-tersedia/jellyfin /etc/nginx/situs-diaktifkan/ Uji dan muat ulang Nginx:
sudo nginx -t sudo systemctl muat ulang nginx Langkah 5: Mengamankan Domain Anda dengan Let's Encrypt TLS
Untuk mengamankan domain Anda, gunakan Let's Encrypt untuk menerbitkan sertifikat gratis:
sudo certbot --nginx -d jelly.domainanda.com Certbot secara otomatis mengonfigurasi SSL di berkas situs Nginx Anda. Untuk memastikan sertifikat diperbarui secara otomatis, pastikan timer systemd aktif:
sudo systemctl list-timers | grep certbot Langkah 6: Mengintegrasikan Cloudflare untuk Keamanan Tambahan dan Bypass Port ISP
Instal Cloudflared
Cloudflared membuat terowongan aman untuk merutekan lalu lintas melalui Cloudflare, melewati pembatasan ISP pada port 80 dan 443:
- Unduh
.debpaket dari halaman GitHub Cloudflare. - Instal paket:
sudo dpkg -i cloudflared-version.deb
Konfigurasikan Terowongan
Autentikasi dengan akun Cloudflare Anda:
login terowongan cloudflared Buat terowongan baru:
terowongan berawan buat terowongan saya Edit berkas konfigurasi Cloudflare:
sudo nano /etc/cloudflared/config.yml Contoh konfigurasi:
terowongan: terowongan saya kredensial-file: /home/user/.cloudflared/my-tunnel.json masuk: - nama host: jelly.yourdomain.com layanan: http://localhost:8096 - layanan: http_status:404 Mulai dan aktifkan layanan terowongan:
sudo systemctl aktifkan cloudflared sudo systemctl mulai cloudflared Poin-poin Utama
- Proksi Terbalik Nginx: Penting untuk merutekan lalu lintas dengan aman dan mengoptimalkan layanan backend.
- Enkripsi TLS:Gunakan Let's Encrypt untuk mengamankan domain Anda dengan sertifikat SSL gratis.
- Aturan Firewall: Buka port yang diperlukan untuk HTTP (80), HTTPS (443), dan SSH (22).
- Optimasi Keamanan: Terapkan header dan pembatasan laju untuk mencegah serangan.
- Integrasi Cloudflare: Gunakan terowongan Cloudflared untuk hosting yang aman dan ramah ISP.
- Otomatisasi: Pengatur waktu Systemd memastikan sertifikat SSL diperbarui secara otomatis.
Kesimpulan
Menyiapkan proxy terbalik Nginx yang aman membutuhkan perhatian terhadap detail dan konfigurasi yang cermat, tetapi hasilnya sepadan dengan usaha yang dikeluarkan. Baik Anda menghosting server media seperti Jellyfin atau mengelola aplikasi perusahaan, panduan ini membekali Anda dengan alat dan pengetahuan untuk membangun lingkungan yang sangat aman dan efisien. Dengan fitur-fitur seperti TLS, terowongan Cloudflare, dan optimasi tingkat lanjut, infrastruktur Anda siap menghadapi tuntutan modern.
Sumber: "Hentikan Pengungkapan Aplikasi Anda! Bangun Proksi Terbalik Nginx yang Aman!" – KeepItTechie, YouTube, 19 Agustus 2025 – https://www.youtube.com/watch?v=MzbhS2S7H_g
Kegunaan: Disematkan untuk referensi. Kutipan singkat digunakan untuk komentar/ulasan.
Artikel Blog Terkait
- Menguasai Konfigurasi Nginx untuk Performa Server Web yang Optimal
- Menguasai Konfigurasi NGINX: Bagaimana Serverion Membuka Kunci Keberhasilan Web Hosting B2B
- NGINX Config Rewind: Serverion Menghidupkan Kembali Seni Penyetelan Cache Proxy yang Hilang
- Batas Konfigurasi NGINX yang Terlupakan: Penyelaman Serverion ke Mikrocaching FastCGI