Tutorial Cara Setup SSL/TLS untuk Instansi n8n di VPS
Halo, gengs! Kalian mungkin sudah familiar dengan n8n, sebuah tool workflow automation yang keren banget. Tapi, udah tahukan kalau mengamankan koneksi ke n8n itu penting banget? Nah, di artikel ini, kita bakal bahas cara setup SSL/TLS untuk instansi n8n di VPS supaya koneksi kalian aman dan terenkripsi. Ayo ikuti langkah-langkahnya!
1. Instalasi n8n
Pertama-tama, pastikan kalian udah install n8n di VPS kalian. Kalau belum, kalian bisa ikuti panduan instalasi dari situs resmi n8n. Untuk yang lebih prefer Docker, bisa cek di sini.
2. Persiapan Domain dan Sertifikat SSL/TLS
Sebelum setup SSL/TLS, pastikan kalian punya domain yang udah diarahkan ke IP VPS kalian. Nah, untuk SSL/TLS, kita bakal pakai Let’s Encrypt yang gratis dan mudah setupnya. Kalian bisa pakai Certbot untuk generate sertifikatnya.
Instalasi Certbot:
Pertama, install Certbot di VPS kalian. Caranya gampang banget:
sudo apt update
sudo apt install certbot
Generate Sertifikat:
Generate sertifikat buat domain kalian dengan perintah:
sudo certbot certonly --standalone -d namadomainkalian.com
Ganti namadomainkalian.com
dengan domain asli kalian ya. Certbot bakal minta beberapa info buat verifikasi, ikuti aja petunjuknya.
Path Sertifikat:
Setelah selesai, sertifikat bakal tersimpan di /etc/letsencrypt/live/namadomainkalian.com/
. Ada beberapa file penting di sini:
fullchain.pem
: Gabungan sertifikat dan intermediate CA.privkey.pem
: Private key untuk sertifikat.
3. Konfigurasi n8n dengan SSL/TLS
Buka file konfigurasi n8n kalian. Kalau kalian install n8n via npm, biasanya ada file .n8n
di home directory. Kalau pakai Docker, bisa atur via environment variable.
Edit Konfigurasi:
Buka file .n8n
dan tambahkan parameter SSL/TLS:
{
...
"protocol": "https",
"ssl_key": "/etc/letsencrypt/live/namadomainkalian.com/privkey.pem",
"ssl_cert": "/etc/letsencrypt/live/namadomainkalian.com/fullchain.pem"
}
Simpan perubahan dan restart n8n agar konfigurasi berlaku.
4. Konfigurasi Otomatis Renewal Sertifikat
Sertifikat Let’s Encrypt cuma berlaku selama 90 hari. Makanya, kita perlu setup auto-renewal biar ga ribet. Caranya gampang, edit crontab kalian:
sudo crontab -e
Lalu tambahkan baris berikut:
0 0 * * * certbot renew --quiet --post-hook "systemctl restart n8n"
Ini bakal jalan tiap hari buat ngecek apakah sertifikat perlu di-renew. Kalau iya, sertifikat bakal langsung diganti tanpa downtime.
5. Verifikasi Konfigurasi
Terakhir, verifikasi SSL/TLS kalian udah berjalan dengan baik. Buka https://namadomainkalian.com
di browser dan pastikan koneksinya aman (ada gemboknya).
Kalau perlu, kalian bisa test dengan SSL Labs buat pastiin konfigurasi SSL/TLS kalian udah aman.
Nah, gampang banget kan gengs? Dengan beberapa langkah simpel, koneksi n8n kalian udah lebih aman dan terenkripsi. Jangan lupa jaga keamanan instansi kalian ya!