Mengatasi Masalah Loopback di WordPress dan Cloudflare

loopback wordpressloopback wordpress

loopback wordpress

Solusi Mengatasi Masalah Loopback pada WordPress di Raspberry Pi dengan Cloudflare Tunnel

Estimasi waktu baca: 5 menit
  • Memahami apa itu masalah loopback di WordPress.
  • Solusi praktis untuk mengatasi permintaan loopback yang gagal.
  • Tips untuk pengaturan Cloudflare yang efisien.
  • Menggunakan cron job dari sistem operasi untuk menjadwalkan tugas.
Daftar Isi:

Apa Itu Masalah Loopback di WordPress?

Loopback request adalah mekanisme di WordPress yang digunakan untuk mengakses fitur-fitur internal seperti REST API, cron, dan beberapa plugin. Namun, saat WordPress dihosting di Raspberry Pi dan diakses melalui Cloudflare Tunnel, permintaan loopback ke domain publik sering kali gagal. Hal ini disebabkan oleh beberapa faktor, seperti:

  1. Cloudflare Tunnel tidak mengizinkan server lokal untuk me-loopback ke domain publik.
  2. Permintaan dari localhost melewati tunnel dan kembali ke server lokal, sering kali menyebabkan hambatan atau putus koneksi.
  3. Fitur keamanan di Cloudflare, seperti Bot Fight Mode dan Web Application Firewall (WAF), dapat memperburuk masalah ini.

Gejala dari masalah ini sering kali ditunjukkan dengan munculnya pesan kesalahan “could not complete a loopback request” pada Site Health di WordPress, serta masalah lainnya seperti REST API yang tidak berjalan normal dan administrators yang lambat dalam mengelola konten.

Solusi untuk Mengatasi Masalah Loopback

Berikut adalah beberapa langkah yang dapat diambil untuk mengatasi masalah loopback di WordPress saat menggunakan Cloudflare Tunnel:

1. Gunakan Localhost untuk Loopback

Anda bisa mengarahkan WordPress agar permintaan internal (loopback) tidak menuju domain publik, tetapi langsung ke localhost. Caranya adalah dengan mengedit file wp-config.php di WordPress dan menambahkan baris berikut:

define('ALTERNATE_WP_CRON', true);

Anda juga bisa menggunakan plugin seperti WP Crontrol untuk mengatur cron job langsung melalui command line interface (CLI) daripada menggunakan HTTP loopback.

2. Perbarui siteurl dan homeurl

Pastikan bahwa kolom siteurl dan homeurl pada tabel wp_options di database WordPress Anda memiliki URL yang benar. Untuk akses lokal, Anda bisa menggunakan http://localhost atau http://127.0.0.1, tetapi untuk akses publik, tetap gunakan domain utama yang Anda miliki. Ini dapat membantu mencegah konflik antara akses lokal dan publik.

3. Whitelist/Bypass IP Lokal di Cloudflare

Cloudflare sering kali menahan permintaan yang diarahkan ke domain melalui proxy. Anda bisa membuat aturan di Cloudflare Dashboard untuk mengizinkan atau mengecualikan permintaan dari IP lokal Raspberry Pi. Hal ini bisa dilakukan dengan cara:

  • Mengubah pengaturan di WAF dan Bot Fight Mode untuk mengizinkan IP Raspberry Pi.
  • Jika mungkin, tambahkan aturan kustom untuk mengecualikan source IP server lokal dari beberapa kebijakan proteksi.

4. Nonaktifkan Sementara Proxy Cloudflare untuk Uji

Untuk memastikan bahwa Cloudflare Tunnel adalah penyebab utama masalah, Anda bisa mencoba menonaktifkan fungsi proxy sementara. Ubah pengaturan dari “Proxied” menjadi “DNS Only” di DNS Cloudflare, lalu uji kembali Site Health di WordPress. Ini akan membantu Anda menentukan apakah masalah disebabkan oleh Cloudflare atau faktor lainnya.

5. Jalankan Cron Job dari Sistem Operasi

Secara default, WordPress menjalankan cron melalui loopback HTTP, tetapi Anda bisa mengakalinya dengan menggunakan cron job dari OS. Tambahkan perintah berikut ke dalam crontab di Raspberry Pi Anda:

*/5 * * * * php /path/to/wordpress/wp-cron.php

Ini akan menjalankan cron job secara langsung tanpa bergantung pada loopback HTTP.

6. Pastikan SSL/TLS “Full (Strict)” di Cloudflare

Mengubah pengaturan SSL/TLS menjadi “Full (Strict)” di Cloudflare juga bisa membantu menghindari masalah campuran konten atau sertifikat yang tidak valid. Jika Anda mendapatkan error terkait sertifikat, Anda bisa membuat sertifikat origin dari Cloudflare dan menginstalnya di server Anda.

Catatan Khusus

  • Jika halaman admin WordPress Anda muncul dalam bentuk plaintext, atau gambar tidak muncul saat menggunakan tunnel, segera periksa pengaturan URL pada wp_options serta konfigurasi proxy di Nginx/Apache. Pastikan bahwa header Host tidak diubah oleh tunnel.
  • Perlu diingat bahwa tidak semua plugin atau tema WordPress dapat berfungsi dengan baik dalam skenario reverse proxy atau tunnel. Penting untuk secara berkala menguji fitur-fitur utama setelah Anda melakukan perubahan konfigurasi.

Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda dapat mengatasi masalah loopback request di WordPress yang dihosting di Raspberry Pi dengan Cloudflare Tunnel. Baik dengan menghindari HTTP loopback secara langsung maupun dengan memodifikasi kebijakan proxy yang diterapkan oleh Cloudflare, masalah ini dapat diminimalisir atau dihilangkan sama sekali.

Jangan ragu untuk menjelajahi lebih banyak artikel dan saran praktis di blog ini, yang mungkin bisa membantu Anda dalam menggunakan WordPress lebih efektif. Jika Anda memiliki pertanyaan atau membutuhkan bantuan lebih lanjut, silakan tinggalkan komentar di bawah!

FAQ

Q: Apa yang menyebabkan masalah loopback di WordPress dengan Cloudflare Tunnel?

A: Masalah tersebut disebabkan oleh pengaturan Cloudflare yang tidak mengizinkan akses balik dari server lokal ke domain publik serta faktor keamanan lainnya.

Q: Bagaimana cara menguji apakah Cloudflare yang menyebabkan masalah?

A: Anda bisa menonaktifkan fungsi proxy Cloudflare sementara dan mengubah pengaturan menjadi “DNS Only” untuk menguji apakah masalah tetap ada.

Q: Apakah menggunakan cron job dari sistem operasi lebih efektif?

A: Ya, menjalankan cron job dari sistem operasi dapat menghindarkan Anda dari ketergantungan pada loopback HTTP.

Mengatasi Masalah Loopback di WordPress dan Cloudflare
Categories: Teknologi
Oentoro:
whatsapp
line