
Cara Install SSL Let's Encrypt Wildcard di Nginx + Cloudflare
SSL (Secure Socket Layer) adalah protokol keamanan yang mengenkripsi data antara server dan klien. Menggunakan SSL sangat penting, terutama untuk aplikasi web yang menangani informasi sensitif. Di tutorial ini, Anda akan mempelajari cara menginstal SSL Let's Encrypt Wildcard di Nginx menggunakan Cloudflare sebagai DNS. Ini akan memastikan situs Anda aman dan dapat diakses dengan subdomain yang tidak terbatas.
Prasyarat
- Sistem operasi berbasis Linux (Ubuntu LTS adalah rekomendasi).
- Nginx sudah terinstal dan dikonfigurasi dengan benar.
- Akses ke terminal dengan hak akses sudo.
- Domain yang sudah terdaftar dan diarahkan ke server Anda.
- Akun Cloudflare dengan domain yang terdaftar.
Langkah Utama
1. Menginstal Certbot
Certbot adalah alat yang digunakan untuk mendapatkan dan memperbarui sertifikat SSL secara otomatis. Untuk menginstalnya, jalankan perintah berikut:
sudo apt update
sudo apt install certbot python3-certbot-nginx
2. Mengonfigurasi Domain di Cloudflare
Masuk ke akun Cloudflare Anda dan pilih domain yang ingin Anda atur. Pastikan DNS sudah disetel dengan benar dan mode Proxy Cloudflare aktif (ikon awan oranye).
Pastikan untuk menonaktifkan proxy untuk subdomain yang ingin Anda gunakan saat mengeluarkan wildcard SSL.
3. Permintaan Sertifikat Wildcard
Untuk mendapatkan sertifikat wildcard, kita akan menggunakan DNS challenge. Jalankan perintah ini:
sudo certbot certonly --manual --preferred-challenges=dns -d *.yourdomain.com -d yourdomain.com
Anda akan diminta untuk membuat catatan DNS TXT di akun Cloudflare Anda. Catatan ini diperlukan untuk membuktikan bahwa Anda memiliki kontrol atas domain tersebut.
4. Menambahkan Catatan DNS TXT di Cloudflare
Setelah menjalankan perintah di atas, Certbot akan memberikan nilai untuk catatan TXT. Di akun Cloudflare Anda, tambahkan catatan DNS TXT dengan nama "_acme-challenge.yourdomain.com" dan nilai yang diberikan oleh Certbot.
_acme-challenge.yourdomain.com TXT "nilai_dari_certbot"
Tunggu beberapa menit agar perubahan DNS dipropagasi, dan kemudian tekan Enter di terminal untuk melanjutkan.
5. Mengonfigurasi Nginx untuk Menggunakan Sertifikat
Setelah sertifikat diperoleh, Anda perlu mengonfigurasi Nginx untuk menggunakannya. Buka file konfigurasi situs Anda:
sudo nano /etc/nginx/sites-available/yourdomain.conf
Perbarui bagian server dengan menggunakan baris berikut:
server {
listen 443 ssl;
server_name yourdomain.com *.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# Konfigurasi lain ...
}
Simpan dan keluar dari file. Periksa konfigurasi Nginx dan restart layanan:
sudo nginx -t
sudo systemctl restart nginx
Konfigurasi Lanjutan
1. Mengatur Pembaruan Otomatis Sertifikat
Let's Encrypt sertifikat memiliki masa berlaku 90 hari. Anda dapat mengatur pembaruan otomatis dengan menambahkan cron job:
sudo crontab -e
Tambahkan baris berikut:
0 3 * certbot renew --quiet
Ini akan memeriksa dan memperbarui sertifikat setiap hari pada pukul 3 pagi.
2. Mengonfigurasi HTTP ke HTTPS Redirect
Untuk memastikan semua lalu lintas diarahkan ke HTTPS, tambahkan pengaturan berikut di file konfigurasi Nginx Anda:
server {
listen 80;
server_name yourdomain.com *.yourdomain.com;
return 301 https://$host$request_uri;
}
Best Practices
- Selalu periksa konfigurasi Nginx setelah melakukan perubahan.
- Gunakan catatan DNS yang tepat di Cloudflare untuk mendukung wildcard.
- Pastikan bahwa firewall Anda mengizinkan lalu lintas ke port 443.
- Gunakan alat seperti SSL Labs untuk menguji konfigurasi SSL Anda.
Troubleshooting
Jika Anda mengalami masalah, berikut adalah beberapa langkah pemecahan masalah:
- Periksa log Nginx untuk kesalahan:
sudo tail -f /var/log/nginx/error.log - Pastikan catatan DNS telah dipropagasi dan ditentukan dengan benar di Cloudflare.
- Verifikasi bahwa Anda tidak memiliki firewall yang memblokir port 443.
- Gunakan
certbot renew --dry-rununtuk menguji pembaruan otomatis tanpa mengubah sertifikat.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda telah berhasil menginstal dan mengonfigurasi SSL Let's Encrypt wildcard di Nginx sambil menggunakan Cloudflare sebagai penyedia DNS. Ini tidak hanya meningkatkan keamanan situs Anda tetapi juga memberikan kepercayaan kepada pengunjung. Pastikan untuk memantau pembaruan sertifikat secara berkala dan menjalankan pemindaian keamanan rutin untuk menjaga keamanan server Anda.
Jika Anda membutuhkan bantuan lebih lanjut, jangan ragu untuk menghubungi kami!
Konsultasi Jasa Setup SekarangVerifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →
📚 Artikel Terkait

Cara Install HTTPS di localhost Nginx
632 kata • Baca selengkapnya →

Cara Install Let's Encrypt SSL dengan Nginx di CentOS 8
492 kata • Baca selengkapnya →

Cara Install Let's Encrypt SSL (HTTPS) dengan Nginx di CentOS 7
624 kata • Baca selengkapnya →

Cara Install SSL Let's Encrypt dengan Nginx di FreeBSD
663 kata • Baca selengkapnya →