api.co.id – Aku bakal jelasin step-by-step gimana Redirect HTTP HTTPS NGINX supaya trafik, ranking, dan keamanan situs kamu aman. Gimana sih caranya? Di artikel ini aku fokus ke praktik terbaik redirect di level NGINX, testing, dan troubleshooting — jadi belum bahas instalasi sertifikat, itu ada di panduan instal SSL yang lebih lengkap: https://api.co.id/blog/panduan-mudah-install-ssl-di-nginx/

Redirect HTTP HTTPS NGINX: kenapa penting buat SEO dan UX
Tahukah kamu Google prefer HTTPS? Redirect yang rapi bikin search engine tahu versi kanonis situs kamu, mencegah duplikat konten, dan transfer nilai SEO (link equity) lewat status 301. Aku jelasin singkat: redirect yang salah bisa bikin ranking turun, indeks ganda, atau loop tak berujung. Jadi redirect itu kecil tapi krusial.
related article: Cara Install SSL di NGINX Menggunakan Certbot dan Let’s Encrypt
Strategi Redirect yang Umum dan Aman
Jadi gini, ada beberapa pola redirect yang sering dipakai. Pilih sesuai kebutuhan:
- HTTP ke HTTPS (semua traffic dipaksa ke HTTPS)
- Non-www ke www, atau sebaliknya (konsisten hostname)
- Gabungan: HTTP non-www -> HTTPS www, atau sebaliknya
Kunci: pakai 301 Permanent Redirect untuk signal SEO jangka panjang, kecuali kamu memang mau uji sementara (302).
Contoh konfigurasi NGINX: redirect sederhana HTTP ke HTTPS
Copy-paste ini ke file server block NGINX kamu (contoh: /etc/nginx/sites-available/example.com). Jangan lupa reload NGINX setelah edit.
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Penjelasan singkat: return 301 langsung memindahkan semua permintaan ke versi HTTPS dengan hostname dan path sama. Simpel dan efektif.
Redirect ke satu hostname tertentu (force www atau non-www)
Kalau kamu mau selalu pakai example.com tanpa www, pakai ini:
server { listen 80; server_name www.example.com; return 301 https://example.com$request_uri; }
Atau kebalikannya, paksa ke www:
server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri; }
Redirect dengan HTTP/2 dan port non-standar
Kalau ada reverse proxy atau port custom, prinsipnya sama: arahkan semua request HTTP (80 atau sumber lain) ke skema yang benar. Perhatikan header X-Forwarded-Proto kalau ada load balancer di depan.
Integrasi Redirect dengan Certbot / Let’s Encrypt (tips praktis)
Aku tahu banyak yang pakai Certbot setelah pasang SSL. Jangan langsung enable auto-redirect jika konfigurasi NGINX kamu belum rapi, karena Certbot bisa otomatis ubah server block dan kadang bikin duplikat rules. Tips aku:
- Pastikan server_name valid di file NGINX sebelum menjalankan Certbot.
- Kalau mau Certbot yang handle redirect, pilih opsi “Redirect” saat interactive mode — tapi cek hasilnya.
- Kalau kamu prefer kontrol manual, buat redirect seperti contoh di atas lalu jalankan Certbot hanya untuk issue cert (standalone atau webroot sesuai setup).
Kalau butuh panduan instal SSL lebih lengkap, cek: https://api.co.id/blog/panduan-mudah-install-ssl-di-nginx/ untuk langkah-bijak pasang Certbot dan Let’s Encrypt.
Testing Redirect: cek langsung dan automated
Gampang ngecek: pakai curl atau browser devtools. Contoh:
curl -I http://example.com
Expected: status 301 dan header Location menunjuk ke https://… . Kamu juga bisa cek chain SSL setelah redirect dengan:
curl -I https://example.com
Tambahan: gunakan tool seperti Lighthouse, SSL Labs, atau Screaming Frog untuk audit redirect di skala lebih besar.
Troubleshooting umum dan solusi
- Loop redirect: biasanya karena ada rule di aplikasi + rule di NGINX. Matikan satu layer dan tes lagi. Cek header X-Forwarded-Proto jika ada reverse proxy.
- Mixed content: halaman HTTPS masih memuat resource via HTTP -> update URL resource ke HTTPS atau pakai protocol-relative URLs.
- Redirect 302 yang tersisa: pastikan kamu pakai 301 untuk permanen, dan clear cache CDN jika ada.
- Certbot otomatis memodifikasi conf: selalu backup file sebelum jalanin, dan cek conf.d untuk server block duplikat.
Praktik Tambahan yang Aku Sarankan
Beberapa langkah kecil yang bikin hidup lebih enak di produksi:
- Tambahkan header keamanan setelah redirect di server HTTPS, contoh:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;tapi aktifkan preload cuma kalau kamu paham implikasinya. - Gunakan CDN-aware redirects jika pakai CDN (beberapa CDN punya setting redirect sendiri).
- Monitoring: setup alert kalau prosentase request HTTP vs HTTPS tiba-tiba naik — bisa jadi cert expired atau server down.
Studi Kasus Singkat
Aku pernah bantu klien yang traffic organik turun karena duplicate content: mereka punya versi www dan non-www yang sama-sama bisa diakses via HTTP dan HTTPS. Solusi kami: konsolidasikan ke single host, pasang redirect 301 di NGINX untuk semua kombinasi (HTTP->HTTPS, www->non-www), lalu submit URL kanonis di Google Search Console. Hasil? Indeks bersih dan traffic stabil dalam 2 minggu.
Checklist sebelum deploy ke production
- Backup konfigurasi NGINX.
- Pastikan certificate valid dan auto-renew di place.
- Test semua redirect (curl, browser, mobile).
- Periksa mixed content dan perbaiki resource URLs.
- Clear CDN cache & periksa logs untuk 4xx/5xx spike.
Kesimpulan
Jadi, Redirect HTTP HTTPS NGINX itu hal kecil tapi berpengaruh besar buat SEO dan keamanan. Aku sarankan setup redirect 301 konsisten, tes menyeluruh, dan integrasi hati-hati dengan Certbot/Let’s Encrypt. Kalau butuh panduan lengkap pasang SSL sebelum bikin redirect, lihat link panduan instalasi yang aku sebut tadi: https://api.co.id/blog/panduan-mudah-install-ssl-di-nginx/ . Kalau mau, tanya detail konfigurasi setup kamu dan aku bantu review langkahnya.






