Memperbaiki redirect loop wp-admin ketika menggunakan CloudFlare

Ternyata Fleksibel SSL dari CloudFlare untuk wordpress itu tidak asal pasang, anda harus mengaturnya supaya HTTPS nya berjalan dengan baik
70  
       

Cloudflare adalah sebuah aplikasi yang menggabungkan antara firewall, CDN (content delivery network), dan manajemen DNS yangt tersedia secara gratis. Banyak sekali keuntungan menggunakan Cloudflare ini, salah satunya adalah mendapatkan SSL gratis. Tapi, ini yang menyebabkan masalah. Setelah diaktifasi SSL nya, malahan jadi tidak dapat masuk kedalam WP-ADMIN.

Baca juga: Blog untuk pengembangan Produk Digital

Kenapa tidak dapat masuk ke WP-ADMIN setelah menggunakan SSL CloudFlare?

Sebetulnya saya juga tidak tahu apakah ada alasan lain selain yang dari yang saya temukan. Hal pertama yang menjadi redirect loop ini salah satunya adalah GLOBAL variabel $_SERVER[‘HTTPS’]. Karena sebetulnya cara kerja si CloudFlare ini adalah tunnelling dari website luar, menuju ke IP Cloudflare (firewall) kemudian diteruskan ke server kita. Dari web luar kita menggunakan SSL atau HTTPS tapi dari cloudflare bisa saja hanya menggunakan HTTP biasa atau port 80. Sementara, si wp-admin itu hanya akan mendeteksi jika $_SERVER[‘HTTPS’] itu ada dalam nilai “on”. Inilah yang mengakibatkan redirect loop. URL request HTTPS dari luar tapi HTTP biasa dari dalam.

Little HACK

Little hack untuk fleksible SSL ini, bisa ditambahkan di index.php wordpress anda dibagian paling atas. Gunakan kode ini hanya untuk yang mengerti saja. Dan biasakan untuk di backup terlebih dahulu.

if(isset($_SERVER['HTTP_X_FORWARDED_PROTO'])){
  if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
    $_SERVER['HTTPS'] = 'on';
  }
}

 

Tidak dapat masuk ke WP-ADMIN

Ketika kita berhasil mengaktifkan SSL di situs kita dengan GRATIS tentu saja sangat senang sekali. Selain mendapatkan keuntungan dengan menambah poin dalam SERP, SSL ini juga bisa mengantarkan ke tahap selanjutnya teknologi web yaitu HTTP/2. Tapi jangan salah, penggunaan ini tidaklah dapat berjalan dengan langsung terutama untuk WordPress. Ternyata harus ada yang diinstall dan dikonfigurasi terlebih dahulu. Berikut ini adalah caranya.

Menonaktifkan Cloudflare

Pertama sebelum melangkah lebih jauh, kita harus login terlebih dahulu ke DNS Manager-nya CloudFlare dan mematikan CloudFlare service-nya. Kemudian temukan domain yang anda maksud, klik tombol awan sehingga menjadi warna abu. Jangan khawatir, SSL atau HTTPS ini dapat diaktifkan secara langsung dengan cara mengklik tombol awan yang sama sampai berwarna orange.


Merubah Site URL WordPress

Jika siteurl anda sudah terlanjur dirubah ke HTTPS, maka balikan dulu ke HTTP biasa site urlnya. Masuk ke wp-admin -> pengaturan -> Pengaturan Umum. Kalau tidak dapat masuk ke wp-admin, ubah pengaturan site url-nya langsung ke database.


Merubah Site URL dengan PhpMyAdmin

Jika anda menginstall PhpMyAdmin, ini akan cukup mudah. Pertama-tama masuk ke PhpMyAdmin kemudiah pilih database yang digunakan oleh wordpress anda. Kemudian cari tabel wp-options dan tampilkan isinya. Kemudian edit nilai yang ada didalam tabel. Lihat gambar.



 
Jika site urlnya sudah dirubah menjadi HTTP biasa, mari kita lanjutkan ke tahap selanjutnya.

Menginstall plugin CloudFlare

Sangat beruntung sekali untuk pengguna wordpress karena sudah ada Cloudflare plugin untuk wordpress. Pastikan install dulu plugin-nya, kemudian konfirgurasikan melalui wp-admin -> pengaturan -> Cloudflare. Jika sudah selesai dikonfigurasi, tampilannya kurang lebih akan seperti ini.


Menambahkan Page Rule di CloudFlare

Setelah install pluginnya, langkah selanjutnya itu adalah login ke Cloudflare -> pilih domain -> pilih menu Page Rules. Di halaman page rule, klik tombol Add Page Rule. Kemudian isikan nama domain-nya. Jika menggunakan www didepan domainnya, maka isikan juga www-nya ya. Kemudian setelah itu pencet tombol add options, kemudian pilih Always HTTPS ke On kemudian klik tombol Save.

Enable Cloudflare Service

Adapun langkah selanjutnya itu adalah mengaktifkan kembali layanan cloudflare-nya. Dengan mengkil tombol awan dari asalnya abu-abu menjadi orange. Jika itu telah dilakukan, coba masuk kembali ke WP-ADMIN untuk merubah site url.

Merubah Site Url ke HTTPS

Setelah Page Url-nya diseting dan cloudflare service-nya di enable. kita akan coba untuk merubah siteurl kembali ke HTTPS. Caranya masuk kembali ke WP-ADMIN, kemudian pilih pengaturan -> pengaturan umum. Setelah dirubah, kemudian tekan Save dan logout dan coba login kembali ke wp-admin. Apakah masih looping? Jika iya, coba ulangi langkah-langkah sebelumnya, barangkali ada yang kelewat, atau Name Servernya belum mengarah ke Name Server CloudFlare.

Demikian Semoga Membantu.