Cara Redirect HTTP ke HTTPS: Nginx, Apache & WordPress

Cara paling efektif untuk mengalihkan (redirect) lalu lintas website dari protokol HTTP ke HTTPS secara permanen adalah dengan menerapkan kode pengalihan 301 (Moved Permanently) pada tingkat server atau menggunakan bantuan modul CMS. Pengalihan ini krusial untuk mengamankan data pengguna, meningkatkan peringkat SEO di mesin pencari, dan menghilangkan peringatan 'Not Secure' pada peramban web.

Sebelum melakukan konfigurasi di bawah ini, pastikan sertifikat SSL/TLS sudah terpasang dan aktif di server hosting Anda. Berikut adalah rincian metode pengalihan berdasarkan teknologi web server yang digunakan.

1. Redirect HTTP ke HTTPS di Apache (.htaccess)

Jika server hosting Anda menggunakan Apache (umumnya pada cPanel atau VPS Linux standar), modifikasi file .htaccess yang terletak di direktori root publik website Anda (biasanya public_html).

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Langkah-langkah Teknis Apache:

  1. Masuk ke File Manager hosting atau hubungkan server melalui FTP/SSH.
  2. Cari file bernama .htaccess di folder public_html. Jika tidak ada, buat file baru dengan nama tersebut.
  3. Salin baris kode di atas dan tempelkan (paste) pada bagian paling atas file .htaccess.
  4. Simpan perubahan dan uji akses website menggunakan URL http://namadomain.com.

2. Redirect HTTP ke HTTPS di Nginx

Untuk server berbasis Nginx, konfigurasi dilakukan melalui file blok server (server block configuration), yang biasanya terletak di direktori /etc/nginx/sites-available/namadomain atau /etc/nginx/conf.d/.

server {
    listen 80;
    server_name namadomain.com www.namadomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name namadomain.com www.namadomain.com;

    # Konfigurasi SSL certificate dan path file lainnya di sini
    ssl_certificate /path/ke/sertifikat/fullchain.pem;
    ssl_certificate_key /path/ke/kunci/privkey.pem;

    # Direktori root web Anda
    root /var/www/html;
    index index.php index.html;
}

Langkah-langkah Teknis Nginx:

  1. Buka terminal SSH dan akses file konfigurasi Nginx domain Anda menggunakan editor teks (seperti nano atau vim).
  2. Tambahkan blok server terpisah untuk port 80 yang mengembalikan status 301 https://$host$request_uri.
  3. Uji validitas sintaks konfigurasi dengan perintah sudo nginx -t.
  4. Muat ulang layanan Nginx dengan perintah sudo systemctl reload nginx.

3. Redirect HTTP ke HTTPS untuk Pengguna WordPress

Bagi pengelola situs berbasis WordPress, pengalihan dapat dilakukan melalui pengaturan dasar dasbor atau menggunakan plugin khusus jika terjadi kendala mixed content.

  1. Masuk ke dasbor administrator WordPress.
  2. Buka menu Settings (Pengaturan) > General (Umum).
  3. Ubah URL pada kolom WordPress Address (URL) dan Site Address (URL) dari awalan http:// menjadi https://.
  4. Klik tombol Save Changes di bagian bawah halaman.
  5. Instal plugin pihak ketiga seperti Really Simple SSL untuk memaksa seluruh aset (gambar, skrip) dimuat melalui HTTPS.

Tabel Perbandingan Metode Redirect

Metode Lingkungan Server Tingkat Kesulitan Kecepatan Eksekusi
File .htaccess Apache / LiteSpeed Mudah Sangat Cepat
Nginx Server Block Nginx Menengah Instan (Tingkat Server)
Plugin WordPress WordPress CMS Sangat Mudah Cepat (Bergantung Plugin)

Troubleshooting Masalah Umum

Kendala yang sering muncul setelah melakukan redirect adalah Too Many Redirects (ERR_TOO_MANY_REDIRECTS). Hal ini biasanya disebabkan oleh konflik antara pengaturan SSL di Cloudflare, panel hosting (seperti cPanel), dan pengaturan internal CMS. Pastikan pilihan SSL di Cloudflare diatur ke 'Full' atau 'Full (Strict)', bukan 'Flexible', jika Anda sudah memasang sertifikat SSL di server asal.