Cara Install SSL Gratis di NGINX Ubuntu – Kita akan menggunakan Nginx yang terinstal di server utama (bukan di dalam Docker) sebagai Reverse Proxy.Anggap saja Reverse Proxy ini sebagai “resepsionis” untuk server kita. Semua pengunjung akan datang ke resepsionis ini (melalui port standar 80/443). Resepsionis kemudian akan mengarahkan pengunjung ke “ruangan” yang tepat (kontainer Docker kita yang berjalan di port 8000).
Setelah itu, kita akan menggunakan Let’s Encrypt, sebuah layanan gratis dan otomatis, untuk memberikan sertifikat SSL/TLS pada domain kita. Inilah yang akan mengaktifkan HTTPS.
Prasyarat :
- Aplikasi WordPress dari tutorial Docker Compose sebelumnya harus sedang berjalan.
- Kita HARUS memiliki nama domain yang sudah terdaftar (misalnya situs-keren-kita.com).
- DNS record A untuk domain kita sudah diarahkan (pointing) ke alamat IP publik server kita.
Langkah 1: Instal Nginx di Server Utama (Host)
Pertama, mari kita instal Nginx di server utama kita. Nginx inilah yang akan bertindak sebagai resepsionis.
sudo apt-get update
sudo apt-get install nginx -y
Kita juga perlu menyesuaikan firewall untuk mengizinkan lalu lintas penuh ke Nginx.
sudo ufw allow 'Nginx Full'
Langkah 2: Konfigurasi Nginx sebagai Reverse Proxy
Sekarang, kita akan memberitahu Nginx (resepsionis kita) bahwa setiap permintaan untuk domain kita harus diteruskan ke kontainer WordPress kita.
- Buat file konfigurasi baru untuk situs kita. Ganti domain-kita.com dengan nama domain Anda yang sebenarnya.
sudo nano /etc/nginx/sites-available/domain-kita.com
- Salin dan tempel konfigurasi berikut ke dalam file tersebut. Sekali lagi, jangan lupa ganti domain-kita.com dengan domain Anda.
server { listen 80; server_name domain-kita.com www.domain-kita.com; location / { proxy_pass http://localhost:8000; 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; } }
listen 80
: Nginx akan mendengarkan di port 80 (HTTP).server_name
: Nginx akan merespons jika ada permintaan untuk domain ini.proxy_pass http://localhost:8000
: Ini adalah inti dari reverse proxy. Semua permintaan akan diteruskan ke localhost:8000, tempat kontainer WordPress kita berada.
- Aktifkan konfigurasi ini dengan membuat “symbolic link”.
sudo ln -s /etc/nginx/sites-available/domain-kita.com /etc/nginx/sites-enabled/
- Pastikan tidak ada kesalahan sintaks dan muat ulang Nginx.
sudo nginx -t sudo systemctl reload nginx
Pada titik ini, jika kita mengunjungi http://domain-kita.com (tanpa port), kita seharusnya sudah bisa melihat situs WordPress kita!
Langkah 3: Instal Certbot untuk Let’s Encrypt
Certbot adalah alat bantu yang akan mengotomatiskan seluruh proses mendapatkan dan memperbarui sertifikat SSL kita.
Bash
sudo apt-get install certbot python3-certbot-nginx -y
Langkah 4: Mari Kita Dapatkan Sertifikat SSL Gratis! ✨
Inilah saatnya kita melakukan keajaiban. Jalankan perintah Certbot berikut, dan pastikan untuk mengganti domain-kita.com
dengan domain Anda.
Bash
sudo certbot --nginx -d domain-kita.com -d www.domain-kita.com
Certbot akan memandu kita melalui beberapa pertanyaan:
- Masukkan alamat email Anda (untuk pemberitahuan pembaruan).
- Setujui Persyaratan Layanan.
- Pilih apakah akan berbagi email dengan EFF (opsional).
- Pilih apakah akan mengarahkan (redirect) lalu lintas HTTP ke HTTPS. Pilih opsi ini! Ini sangat direkomendasikan untuk keamanan.
Jika semua berjalan lancar, Certbot akan mengonfirmasi bahwa sertifikat telah berhasil di-deploy dan secara otomatis mengubah file konfigurasi Nginx kita untuk menggunakan HTTPS.
Langkah 5: Nikmati Situs Aman Kita!
Sekarang, buka browser dan kunjungi domain kita menggunakan https://
.
https://domain-kita.com
Kita akan melihat ikon gembok yang menandakan koneksi kita sudah aman dan terenkripsi! Certbot juga secara otomatis mengatur cron job untuk memperbarui sertifikat sebelum kedaluwarsa, jadi kita tidak perlu mengkhawatirkannya lagi.
Kita bisa menguji proses pembaruan otomatis dengan perintah:
Bash
sudo certbot renew --dry-run
Misi Selesai! Kita telah berhasil mengubah situs yang berjalan di port internal menjadi sebuah situs web profesional yang aman dan dapat diakses publik melalui domain. Ini adalah keterampilan fundamental dalam dunia administrasi server dan pengembangan web.
Leave A Comment?
You must be logged in to post a comment.