Anda membuka sebuah situs — atau pengunjung melaporkan tidak bisa membuka situs Anda — dan yang muncul adalah halaman Error 1020: Access denied. Berbeda dengan error Cloudflare lain yang menandakan server bermasalah, 1020 berarti sebuah fitur keamanan yang dikonfigurasi pemilik situs sengaja memblokir permintaan tersebut. Dengan kata lain, ini bukan kerusakan acak, melainkan aturan yang bekerja persis seperti yang ditulis — hanya saja aturannya mungkin terlalu luas atau mengenai orang yang salah.
Daftar Isi
- Jawaban Singkat
- Apa Artinya Error 1020?
- Persiapan dan Backup
- Langkah 1: Lacak Blokirnya di Security Events
- Langkah 2: Nilai Apakah Blokirnya Benar atau Salah Sasaran
- Langkah 3: Perbaiki Aturan, Bukan Keamanan Secara Keseluruhan
- Langkah 4: Periksa Sisi Pengunjung Bila Anda yang Terblokir
- Verifikasi Hasil
- Troubleshooting Lanjutan
- FAQ
- Kesimpulan
- Referensi
Jawaban Singkat
Jika Anda pengunjung, satu-satunya perbaikan yang bisa Anda lakukan sendiri adalah memastikan Anda tidak memakai pola yang biasa diblokir (misalnya VPN atau jaringan yang dicurigai) lalu menghubungi pemilik situs dengan tangkapan layar error yang mencantumkan Ray ID. Jika Anda pemilik situs, jangan menebak: buka log Security Events di dashboard Cloudflare (Security > Analytics > Events), cari Ray ID atau IP pengunjung dari laporan 1020 itu, lihat fitur dan aturan mana yang memblokirnya, lalu persempit atau perbaiki aturan tersebut. Menghapus semua aturan keamanan sekaligus bukan solusi.
Apa Artinya Error 1020?
Menurut dokumentasi Cloudflare, error 1020 menunjukkan bahwa fitur keamanan yang dikonfigurasi pemilik situs memblokir permintaan, dan Cloudflare mengembalikannya dengan status HTTP 403. Penyebab umumnya adalah aturan keamanan dengan aksi Block yang cocok dengan permintaan, tanpa respons kustom yang dikonfigurasi — misalnya validasi skema API Shield atau validasi JWT. Penting untuk diketahui: permintaan yang diblokir aturan WAF kustom atau WAF terkelola tidak mendapatkan error 1020; permintaan itu mendapatkan respons blokir WAF yang berbeda. Jadi, bila Anda melihat angka 1020, aturan yang bekerja adalah aturan keamanan di luar blokir WAF standar tersebut.
| Siapa Anda | Apa yang bisa dilakukan | Yang tidak bisa dilakukan |
|---|---|---|
| Pengunjung biasa | Kirim Ray ID dan tangkapan layar ke pemilik situs | Mengubah aturan Cloudflare situs orang lain |
| Pemilik situs | Lacak Ray ID di Security Events, persempit aturan | Menebak aturan tanpa melihat log |
| Pengelola WordPress di balik Cloudflare | Periksa aturan yang memblokir wp-admin, API, atau login | Menonaktifkan semua keamanan secara permanen |
Persiapan dan Backup
- Siapkan akses dashboard Cloudflare untuk zona yang bermasalah dan daftar aturan keamanan yang aktif di sana.
- Sebelum mengubah aturan apa pun, catat aturan yang ada: nama, ekspresi, dan aksinya. Perubahan tanpa catatan membuat rollback sulit bila ternyata aturan itu melindungi jalur penting.
- Minta pengunjung yang terdampak mengirim tangkapan layar lengkap, termasuk Ray ID, IP yang tampil, dan waktu kejadian (dalam UTC bila memungkinkan, karena log Cloudflare memakai UTC).
- Jangan membagikan token API Cloudflare atau kredensial dashboard kepada pengunjung yang melaporkan error; yang Anda butuhkan dari mereka hanyalah Ray ID.
Langkah 1: Lacak Blokirnya di Security Events
Masuk ke dashboard Cloudflare, pilih zona Anda, lalu buka Security > Analytics dan tab Events. Cari Ray ID atau alamat IP dari laporan 1020 tersebut. Entri log akan menunjukkan fitur keamanan dan aturan mana yang memblokir permintaan itu. Langkah ini wajib: tanpa Ray ID, Anda hanya menebak-nebak di antara puluhan aturan. Bila tidak ada entri yang cocok, periksa kembali zona yang dipilih dan rentang waktunya — konversi waktu laporan ke UTC bila pengunjung melaporkan dalam zona waktu lokal.
Langkah 2: Nilai Apakah Blokirnya Benar atau Salah Sasaran
Setelah aturan pemblokir ketemu, nilai dengan jujur:
- Blokir benar: permintaan berasal dari bot kasar, pola serangan, atau IP yang memang sengaja Anda blokir. Biarkan aturan itu, dan beri tahu pengunjung bahwa aksesnya memang dibatasi.
- Salah sasaran: aturan terlalu luas, misalnya memblokir seluruh negara padahal hanya satu pola bot yang bermasalah, atau memblokir user-agent umum yang dipakai browser normal. Persempit ekspresi aturan ke pola yang spesifik: jalur tertentu, metode tertentu, atau kombinasi kondisi, bukan satu ciri yang terlalu umum.
- Aturan kedaluwarsa: aturan yang dibuat untuk insiden lama dan tidak pernah ditinjau. Bila tidak ada lagi ancaman yang sama, nonaktifkan atau hapus dengan catatan.
Langkah 3: Perbaiki Aturan, Bukan Keamanan Secara Keseluruhan
Perbaiki aturan yang bermasalah saja: tambahkan pengecualian IP sah lewat IP Access Rules, persempit cakupan negara atau jalur, atau ubah aksi dari Block menjadi Challenge untuk pola yang meragukan. Uji dari jaringan yang sebelumnya terblokir. Bila Anda mengelola WordPress, perhatikan aturan yang memblokir wp-login.php, wp-admin, atau jalur API tanpa pengecualian.
Langkah 4: Periksa Sisi Pengunjung Bila Anda yang Terblokir
Jika Anda adalah pengunjung yang terkena 1020 di situs orang lain, cobalah hal berikut sebelum menghubungi pemilik situs: matikan VPN atau proxy bila Anda memakainya, karena sebagian aturan memblokir ASN atau negara tertentu; coba dari jaringan lain (misalnya data seluler) untuk memastikan masalahnya ada di IP Anda, bukan di perangkat; dan bersihkan cache browser. Bila dari jaringan lain situs terbuka normal, hampir pasti IP atau jaringan pertama Anda yang diblokir aturan situs tersebut — dan hanya pemilik situs yang bisa mengubahnya. Jangan mencoba mengakali aturan keamanan situs orang lain dengan alat otomatis; itu justru memperkuat alasan pemblokiran.
Verifikasi Hasil
Perbaikan berhasil bila pengunjung yang sebelumnya terblokir bisa membuka situs dengan normal, entri Security Events tidak lagi mencatat blokir 1020 untuk pola yang sama, dan aturan keamanan lain tetap aktif melindungi jalur yang seharusnya. Uji dari jaringan yang sebelumnya terblokir dan dari satu jaringan normal, agar Anda tahu perbaikan tidak merusak perlindungan yang sudah ada.
Troubleshooting Lanjutan
| Situasi | Langkah berikutnya |
|---|---|
| 1020 hanya pada jalur API | Periksa validasi skema API Shield dan JWT untuk jalur tersebut |
| Ray ID tidak ditemukan di log | Periksa zona dan rentang waktu (UTC); pastikan laporan berasal dari zona itu |
| Semua langkah gagal | Kirim ke dukungan Cloudflare: Ray ID, waktu UTC, dan nama aturan yang dicurigai |
FAQ
Apakah error 1020 berarti situs saya diretas?
Tidak. 1020 berarti aturan keamanan pemilik situs memblokir sebuah permintaan. Itu bisa berupa serangan yang berhasil diblokir, atau pengguna sah yang salah sasaran.
Kenapa teman saya bisa membuka situs, tetapi saya tidak?
Karena aturan keamanan bekerja per permintaan: IP, negara, ASN, user-agent, dan jalur yang diakses ikut menentukan. Perbedaan salah satu faktor itu sudah cukup membuat satu orang diblokir dan yang lain lolos.
Apakah 1020 sama dengan 403 dari server asal?
Tidak. 1020 disajikan oleh edge Cloudflare sebelum permintaan mencapai server asal, sedangkan 403 dari server asal berarti permintaan sudah sampai ke server dan ditolak di sana.
Apa yang harus saya kirim ke pemilik situs bila saya terblokir?
Tangkapan layar lengkap halaman 1020 yang mencantumkan Ray ID, alamat IP yang tampil, URL yang dibuka, dan waktu kejadian. Tanpa Ray ID, pemilik situs sulit melacak aturan mana yang memblokir Anda.
Kesimpulan
Cloudflare Error 1020 bukan kerusakan server, melainkan aturan keamanan yang bekerja — kadang terlalu baik. Pemilik situs menyelesaikannya dengan melacak Ray ID di Security Events dan mempersempit aturan yang salah sasaran, bukan dengan mematikan keamanan. Pengunjung menyelesaikannya dengan mengirim Ray ID ke pemilik situs. Selama aturan diperbaiki satu per satu dan dicatat, 1020 berhenti menjadi misteri dan kembali menjadi alat perlindungan yang terkendali.
Referensi
- Cloudflare — Error 1020: Access denied (Support docs): developers.cloudflare.com — Error 1020
- Cloudflare — Example custom error rules (aturan error kustom untuk 1020): developers.cloudflare.com — Custom error rules