Hubungi kami

info@serverion.com

Hubungi kami

+1 (302) 380 3902

Panduan Lengkap Membangun Proxy Terbalik Nginx yang Aman

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.

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:

  1. Header Keamanan:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Tentukan header keamanan untuk meningkatkan perlindungan:
    tambahkan_header X-Frame-Options "SAMEORIGIN"; tambahkan_header X-Content-Type-Options "nosniff"; tambahkan_header X-XSS-Protection "1; mode=blokir"; 
  2. Pengaturan Proksi:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Optimalkan aliran panjang dan cegah respons lambat:
    proxy_connect_timeout 60dtk; proxy_send_timeout 60dtk; proxy_read_timeout 60dtk; 
  3. Batas Kecepatan:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Mengurangi permintaan yang berlebihan:
    limit_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:

  1. Unduh .deb paket dari halaman GitHub Cloudflare.
  2. 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

id_ID