EQVPS
Mulai

Cara menyiapkan reverse proxy nginx dengan HTTPS

Pasang domain yang rapi dan HTTPS otomatis di depan aplikasi apa pun yang mendengarkan pada port lokal. Dua cara: nginx dengan Certbot, atau Caddy untuk TLS otomatis dalam satu baris. Langkah demi langkah, dengan konfigurasi siap salin.

Sebagian besar aplikasi swa-inang mendengarkan pada port lokal seperti 127.0.0.1:3000 dan berbicara HTTP polos. Sebuah reverse proxy berdiri di depan pada port 80/443, mengakhiri HTTPS dengan sertifikat sungguhan, dan meneruskan lalu lintas ke port lokal itu — memberi Anda https://app.yourdomain.com yang rapi dan memungkinkan menjalankan beberapa aplikasi di balik satu IP. Berikut kedua cara yang umum.

Prasyarat

Opsi A — Caddy (HTTPS otomatis, satu baris)

sudo apt install -y caddy
echo 'app.yourdomain.com { reverse_proxy 127.0.0.1:3000 }' | sudo tee /etc/caddy/Caddyfile
sudo systemctl restart caddy

Itu saja — Caddy mengambil sertifikat Let's Encrypt untuk domain dan memperbaruinya otomatis.

Opsi B — nginx + Certbot

sudo apt install -y nginx certbot python3-certbot-nginx

Buat /etc/nginx/sites-available/app:

server {
    listen 80;
    server_name app.yourdomain.com;
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktifkan dan tambahkan HTTPS:

sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d app.yourdomain.com

Certbot menyunting konfigurasi untuk menyajikan HTTPS dan menyiapkan pembaruan otomatis.

Peringatan jujur

Langkah berikutnya

Reverse proxy adalah hal yang memungkinkan satu server menyajikan banyak hal — lihat swa-inang beberapa layanan di balik satu IP. Menjalankan aplikasi dalam kontainer? Mulai dari cara memasang Docker. Agar aplikasi itu sendiri bertahan melewati restart dan crash, lihat cara membuat layanan systemd.

FAQ

Apa itu reverse proxy dan mengapa saya memerlukannya?

Aplikasi Anda biasanya mendengarkan pada port lokal seperti 127.0.0.1:3000. Reverse proxy berdiri di depan pada port 80/443, mengakhiri HTTPS, dan meneruskan permintaan ke port lokal itu. Ia memberi Anda domain yang rapi, sertifikat TLS yang sah, dan kemampuan menjalankan beberapa aplikasi di balik satu IP — tanpa aplikasi Anda harus menangani semua itu sendiri.

nginx atau Caddy — pilih yang mana?

Caddy adalah cara tercepat: ia mengambil dan memperbarui sertifikat Let's Encrypt secara otomatis, dan proxy HTTPS yang berfungsi hanya satu baris konfigurasi. nginx lebih dikenal dan lebih fleksibel, tetapi untuk TLS Anda menambahkan Certbot. Jika ingin HTTPS dengan repot seminimal mungkin, pakai Caddy; jika sudah paham nginx atau butuh fiturnya, pakai nginx.

Apakah saya butuh domain?

Untuk sertifikat HTTPS tepercaya, ya — Let's Encrypt menerbitkan sertifikat untuk nama domain, bukan IP telanjang. Arahkan sebuah record A ke IP server Anda, tunggu propagasi DNS, lalu proxy bisa memperoleh sertifikat untuk nama itu.

Port apa saja yang harus terbuka?

80 dan 443 masuk. Port 80 dipakai untuk tantangan sertifikat awal dan pengalihan ke HTTPS; 443 menyajikan lalu lintas terenkripsi. Buka keduanya di firewall Anda (lihat panduan UFW) dan pastikan tidak ada hal lain yang sudah menempatinya.

Mengapa penerbitan sertifikat gagal?

Hampir selalu DNS atau port. Record A domain harus menunjuk ke server ini dan sudah tersebar, dan port 80/443 harus dapat dijangkau (terbuka di firewall, tidak diblokir di hulu). Perbaiki keduanya dan penerbitan berhasil; Caddy maupun Certbot sama-sama mencoba lagi.

Komentar

Belum ada komentar. Jadilah yang pertama.

Tinggalkan komentar

Komentar dimoderasi sebelum muncul.