Setting HTTPS di blog WordPress menggunakan SSL gratisan dari Cloudflare

Diperbarui   /   Terbit di Server   /   Komentar

Kali ini saya akan membahas tentang bagaimana cara mengkonfigurasi HTTPS di blog WordPress dengan menggunakan SSL gratisan dari Cloudflare.

Mode SSL yang digunakan adalah mode flexible SSL. Nah biasanya jika kita menggunakan mode ini, ketika kita ubah alamat blog ke HTTPS maka akan terjadi Redirect Loop.

Untuk mengatasi masalah tersebut kita hanya perlu menambah sedikit code di wp-config.php.

Pertama pastikan tanda cloud di Cloudflare menyala yang artinya semua traffic akan melalui Cloudflare. Pada setting SSL pilih ke mode Flexible. Sekarang coba kunjungi blognya, harusnya sudah bisa diakses menggunakan HTTPS.

Setelah itu kita edit wp-config.php dan tambahkan code berikut di atas sendiri:

//BEGIN SSL Load balancing fix
if ((isset($_ENV["HTTPS"]) && ("on" == $_ENV["HTTPS"]))
|| (isset($_SERVER["HTTP_X_FORWARDED_SSL"]) && (strpos($_SERVER["HTTP_X_FORWARDED_SSL"], "1") !== false))
|| (isset($_SERVER["HTTP_X_FORWARDED_SSL"]) && (strpos($_SERVER["HTTP_X_FORWARDED_SSL"], "on") !== false))
|| (isset($_SERVER["HTTP_CF_VISITOR"]) && (strpos($_SERVER["HTTP_CF_VISITOR"], "https") !== false))
|| (isset($_SERVER["HTTP_CLOUDFRONT_FORWARDED_PROTO"]) && (strpos($_SERVER["HTTP_CLOUDFRONT_FORWARDED_PROTO"], "https") !== false))
|| (isset($_SERVER["HTTP_X_FORWARDED_PROTO"]) && (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false))
) {
$_SERVER["HTTPS"] = "on";
}
//END SSL Load balancing fix

Sehingga menjadi seperti berikut:

<?php
//BEGIN SSL Load balancing fix
if ((isset($_ENV["HTTPS"]) && ("on" == $_ENV["HTTPS"]))
|| (isset($_SERVER["HTTP_X_FORWARDED_SSL"]) && (strpos($_SERVER["HTTP_X_FORWARDED_SSL"], "1") !== false))
|| (isset($_SERVER["HTTP_X_FORWARDED_SSL"]) && (strpos($_SERVER["HTTP_X_FORWARDED_SSL"], "on") !== false))
|| (isset($_SERVER["HTTP_CF_VISITOR"]) && (strpos($_SERVER["HTTP_CF_VISITOR"], "https") !== false))
|| (isset($_SERVER["HTTP_CLOUDFRONT_FORWARDED_PROTO"]) && (strpos($_SERVER["HTTP_CLOUDFRONT_FORWARDED_PROTO"], "https") !== false))
|| (isset($_SERVER["HTTP_X_FORWARDED_PROTO"]) && (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false))
) {
$_SERVER["HTTPS"] = "on";
}
//END SSL Load balancing fix
/**
 * The base configuration for WordPress

Simpan perubahan. Lalu kembali ke dashboard dan ganti alamat WordPress dan blog menggunakan https:// misal https://www.danlogs.com.

Coba kunjungi blognya misal dari browser lain. Harusnya masalah redirect loop sudah teratasi.