Caddy web server modern yang menonjol karena kemudahan konfigurasi dan fitur otomatisasi SSL/TLS.
Berbeda dengan Nginx atau Apache yang memerlukan konfigurasi manual sertifikat menggunakan Certbot, Caddy secara otomatis mendapatkan dan memperbarui sertifikat dari Let’s Encrypt .
Hal ini menjadikannya pilihan ideal untuk digunakan sebagai reverse proxy, terutama jika ingin mengekspos aplikasi yang berjalan di port tertentu (seperti Node.js, Python, atau Docker) ke domain publik dengan koneksi HTTPS yang aman.
Website Sederhana
Install Node.Js dan NPM.
sudo apt install nodejs -y && sudo apt install npm -y
Install proses management (PM2).
sudo npm install -g pm2
Buat direktori untuk menyimpan file source website.
mkdir app-01 cd app-01
Jalankan init untuk app-01
npm init -y
Install Framework Express Js
npm install express
Buat file app-01.js
nano app-01.js
Masukan source code website sederhana dibawah.
const express = require('express');
const app = express();
const port = 8181;
app.get('/', (req, res) => {
res.send(`
<!DOCTYPE html>
<html>
<head>
<title>APP 01</title>
<style>
body {
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
font-family: Arial, sans-serif;
}
h1 {
color: white;
font-size: 4rem;
text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
</style>
</head>
<body>
<h1>APP 01</h1>
</body>
</html>
`);
});
app.listen(port, () => {
console.log(`Server running at http://127.0.0.1:${port}`);
});
Jalankan file app-01.js
sudo pm2 start app-1.js
DNS Record Cloudflare
Domain sudah menggunakan nameserver dari cloudflare dan dns record terpointing (A) domain -> IP_Public, (CNAME) www -> domain.
Secara default caddy webserver generate otomatis SSL, maka pada bagian proxy dns record Status Proxied disable.
Caddy Web Server
Install paket yang diperlukan untuk install caddy.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
Tambahkan gpg.key dan repository caddy.
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
Ubah hak akses file gpg dan repository.
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
Update dan install caddy.
sudo apt update -y && sudo apt upgrade -y sudo apt install caddy
Cek versi caddy
caddy -v
Versi caddy yang terinstall v2.11.4 .
Output v2.11.4
Pengecekan akses url http://IP_Public pada browser. Pastikan muncul halaman default caddy.
Konfigurasi Reverse Proxy Caddy
Sebelum melakukan kongurasi reverse proxy caddy, backup terlebih dahulu file default.
sudo cp /etc/caddy/Caddyfile /etc/caddy/Caddyfile.bak
Buka file Caddyfile
sudo nano /etc/caddy/Caddyfile
Masukan konfigurasi
DOMAIN {
reverse_proxy 127.0.0.1:8181
header {
# Menghapus Response Server
-Server
# Menghapus Response "Powered-By"
-X-Powered-By
# Menghapus Respons "Via 1.1 Caddy"
-Via
# HSTS (Force HTTPS)
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# Cegah Clickjacking
X-Frame-Options "DENY"
# Cegah MIME sniffing
X-Content-Type-Options "nosniff"
# Kontrol referrer
Referrer-Policy "strict-origin-when-cross-origin"
# Nonaktifkan fitur browser yang berbahaya
Permissions-Policy "geolocation=(), microphone=(), camera=()"
}
log {
output file /var/log/caddy/DOMAIN-access.log
}
encode gzip
}
Validate konfigurasi reverse proxy caddy.
caddy validate --config /etc/caddy/Caddyfile
Restart service caddy.
sudo systemctl restart caddy
Cek status service caddy.
sudo systemctl status caddy
Firewall UFW
Hanya ijinkan port 22 (SSH), 80 (http) dan 443 (https) yang bisa request ke server.
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Aktifkan firewall ufw.
sudo ufw enable
Pengujian Reverse Proxy
Akses url https://DOMAIN pada browser, pastikan website bisa diakses.

Kesimpulan
Dengan mengikuti panduan Setting Reverse Proxy Caddy Ubuntu 24.04 di atas, kamu telah berhasil mengubah server biasa menjadi gateway lalu lintas yang tangguh dan modern.
Caddy tidak hanya menyederhanakan proses konfigurasi HTTPS berkat otomatisasi SSL-nya, tetapi juga menawarkan performa tinggi untuk menangani berbagai skenario routing.
Dari konfigurasi single domain sederhana hingga implementasi multi-service yang kompleks, Caddy membuktikan diri sebagai alternatif yang sangat kompetitif dibandingkan reverse proxy tradisional.
Kamu sekarang dapat mulai mengekspos berbagai aplikasi dengan aman tanpa repot mengelola sertifikat secara manual.
