Tadi saya mengakses blog punya teman saya https://mastrigus.com namun hasilnya 403 Forbidden. Tumben pikir saya. Lalu saya akses menggunakan VPN, ternyata lancar. Saya juga pernah dilapori bahwa situs teman saya gak bisa diakses, dengan error serupa. Saya akses dari tempat saya juga begitu. Ternyata kalau diakses dari VPN bisa.
Usut punya usut semua itu karena openresty. Faktanya dia banyak melakukan blokir ke alamat IP ISP, sehingga membuat seakan-akan situs mati. Dan akhir-akhir ini, teknologi ini telah diimplementasikan oleh kebanyakan webhosting. Yang mengecewakan pesan blokirnya sering 403 Forbidden, atau 415 Unsupported Media Type, bukan IP anda Kami Blokir. Namun ada petunjuk tulisan openresty/1.27.1.1 dibawahnya, yang menandakan bahwa tangan openresty yang bekerja.
Banyak aplikasi yang akhirnya tidak berjalan, bukan hanya website, namun API aplikasi yang sering digunakan untuk berbagi konten sering tidak bisa diakses karena aplikasi lain yang mengakses dianggap bot. Sayangnya kebijakan hosting ada di tangan pemilik hosting, bukan ditangan yang menyewa hosting.
Saya kira di satu sisi ini akan segera mematikan webhosting karena implementasi openresty yang ugal-ugalan, menyebabkan kerugian bukan hanya dari sisi pengakses namun juga dari sisi yang menyewa hosting. Saya sendiri mungkin selanjutnya akan prefer menggunakan VPS saja daripada sewa hosting.
Apa Itu OpenResty?
OpenResty adalah platform web berbasis Nginx yang diperkaya dengan modul Lua dan LuaJIT untuk meningkatkan performa dan fleksibilitas dalam membangun aplikasi web, layanan web, dan gateway API. Berbeda dari Nginx standar yang berfungsi sebagai web server atau reverse proxy, OpenResty memungkinkan pemrosesan logika bisnis langsung di dalam server menggunakan skrip Lua, sehingga lebih efisien dalam penggunaan sumber daya seperti CPU dan RAM. Fitur utamanya meliputi:
- Modul Lua: Memungkinkan eksekusi kode Lua langsung dalam siklus pemrosesan HTTP, seperti
ngx_lua
danngx_http_lua_module
. - Caching Tingkat Lanjut: Menggunakan shared dictionaries berbasis Lua untuk mengurangi beban server.
- Operasi Asynchronous I/O: Mendukung penanganan ribuan koneksi secara bersamaan tanpa bottleneck.
- Integrasi Database: Mendukung koneksi langsung dengan berbagai database.
- Performa Tinggi: Lebih ringan dibandingkan solusi seperti Java, Node.js, atau PHP-FPM, cocok untuk server dengan spesifikasi rendah.
OpenResty bukan fork dari Nginx, melainkan paket perangkat lunak yang menggabungkan inti Nginx standar dengan modul dan perpustakaan tambahan. Sebagian besar perbaikan yang dilakukan pada inti Nginx di OpenResty telah diintegrasikan ke Nginx resmi.
Sejarah OpenResty
OpenResty pertama kali dikembangkan oleh Yichun Zhang (agentzh) dan awalnya disponsori oleh Taobao.com sebelum 2011. Antara 2012 dan 2016, proyek ini didukung oleh Cloudflare Inc. Saat ini, OpenResty dikelola oleh OpenResty Software Foundation dan OpenResty Inc. Proyek ini bersifat open-source dengan lisensi gaya BSD untuk sebagian besar komponennya.
Perkembangan OpenResty dimulai untuk memenuhi kebutuhan aplikasi web dinamis yang memerlukan performa tinggi dan skalabilitas. Dengan mengintegrasikan LuaJIT, OpenResty memungkinkan pengembang membangun aplikasi yang lebih cepat dan efisien dibandingkan solusi tradisional. Situs web resmi OpenResty sendiri adalah contoh aplikasi web dinamis yang dibangun menggunakan platform ini, dengan kode sumber tersedia di GitHub.
OpenResty telah menjadi pilihan populer untuk API gateway dan layanan web berskala besar, digunakan oleh berbagai proyek open-source dan produk komersial karena keunggulannya dalam performa dan modularitas.
Perspektif terhadap Masalah Openresty
Saat ini, nampaknya OpenResty digunakan oleh beberapa web hosting untuk memblokir alamat IP dari ISP tertentu, yang menyebabkan error 403 Forbidden
dan mengganggu akses ke situs web serta API berbasis HTTP. Berikut adalah analisis dan perspektif saya:
Mengapa OpenResty Digunakan untuk Memblokir IP?
OpenResty sangat fleksibel dalam mengelola lalu lintas web karena kemampuannya menjalankan skrip Lua untuk logika khusus, termasuk pemblokiran IP. Beberapa alasan hosting menggunakan OpenResty untuk memblokir IP ISP tertentu:
- Keamanan: ISP yang kurang terkenal mungkin memiliki reputasi buruk, seperti sering digunakan untuk aktivitas mencurigakan (misalnya, serangan DDoS atau scraping). OpenResty dapat dikonfigurasi untuk memblokir IP berdasarkan aturan tertentu, seperti daftar blokir (blocklist) atau deteksi pola lalu lintas abnormal.
- Optimalisasi Sumber Daya: Dengan kemampuan caching dan pemrosesan asinkronus, OpenResty memungkinkan hosting meminimalkan beban server dengan memblokir lalu lintas dari sumber yang dianggap tidak diinginkan.
- Kontrol Akses: Hosting mungkin menerapkan pemblokiran IP untuk mematuhi regulasi lokal, seperti di Indonesia, di mana pemerintah melalui Kominfo sering meminta pemblokiran konten negatif (misalnya, pornografi, terorisme, atau pelanggaran hak cipta). OpenResty memudahkan implementasi aturan ini secara real-time.
Dampak pada Pengguna dan Aplikasi
Error 403 Forbidden
yang Anda alami menunjukkan bahwa server menolak akses dari IP ISP Anda. Dampaknya signifikan:
- Pengguna: Pengakses situs web atau aplikasi yang bergantung pada API HTTP tidak dapat mengakses layanan, sehingga menciptakan kesan bahwa situs “mati”. Hal ini bisa mengurangi kepercayaan pengguna terhadap layanan tersebut.
- Pengembang Aplikasi: API yang diblokir menyebabkan aplikasi tidak berfungsi, terutama jika tidak ada mekanisme fallback (misalnya, retry dengan IP berbeda atau protokol lain seperti WebSockets).
- Penyedia Hosting: Meskipun pemblokiran IP mungkin dimaksudkan untuk keamanan, ini bisa merugikan hosting itu sendiri. Pengguna yang tidak puas mungkin beralih ke penyedia lain, terutama jika pemblokiran dirasa tidak adil atau tanpa komunikasi yang jelas.
Perspektif Kritis
Dari sudut pandang teknis dan bisnis, penggunaan OpenResty untuk pemblokiran IP memiliki dua sisi:
- Keuntungan:
- Efisiensi: OpenResty memungkinkan hosting mengelola lalu lintas dengan sumber daya minimal, yang penting untuk menjaga performa server.
- Fleksibilitas: Skrip Lua memungkinkan aturan pemblokiran yang sangat spesifik, seperti memblokir hanya IP tertentu atau pola permintaan tertentu.
- Kepatuhan Regulasi: Di Indonesia, hosting harus mematuhi peraturan Kominfo tentang pemblokiran konten negatif. OpenResty memudahkan implementasi ini tanpa perlu infrastruktur tambahan.
- Kekurangan:
- Pemblokiran Berlebihan: Memblokir seluruh rentang IP ISP, terutama ISP kecil, bisa terlalu agresif dan memengaruhi pengguna yang tidak bersalah. Ini mungkin terjadi jika ISP Anda masuk daftar blokir karena kesalahan atau reputasi buruk dari pengguna lain.
- Kurangnya Transparansi: Jika hosting tidak mengkomunikasikan alasan pemblokiran, pengguna seperti Anda merasa frustrasi dan tidak tahu cara mengatasinya.
- Dampak Ekonomi: Seperti yang Anda sebutkan, pemblokiran ini bisa “mematikan” web hosting karena kehilangan pelanggan, baik dari sisi pengakses maupun penyewa hosting. Hosting yang terlalu ketat dalam pemblokiran mungkin kehilangan daya saing dibandingkan penyedia yang lebih fleksibel.
Solusi Potensial
Untuk mengatasi masalah Anda, berikut beberapa langkah yang bisa dicoba:
- Gunakan VPN: VPN dapat mengubah alamat IP Anda, memungkinkan akses ke situs atau API yang diblokir. Namun, pastikan untuk menggunakan VPN terpercaya untuk menghindari risiko keamanan.
- Hubungi ISP: Tanyakan apakah ISP Anda memiliki masalah reputasi atau apakah mereka bisa memberikan IP statis yang tidak masuk daftar blokir.
- Kontak Penyedia Hosting: Jika Anda tahu hosting yang memblokir akses, hubungi layanan pelanggan mereka untuk meminta penjelasan atau normalisasi IP Anda. Beberapa hosting memungkinkan pengajuan normalisasi jika pemblokiran dianggap keliru.
- Gunakan Protokol Alternatif: Jika API HTTP terkena blokir, periksa apakah layanan mendukung protokol lain seperti WebSockets atau HTTPS dengan konfigurasi khusus untuk menghindari pemblokiran.
- Pindah ke ISP Lain: Jika ISP Anda terus-menerus bermasalah, pertimbangkan beralih ke penyedia yang lebih terpercaya dengan reputasi IP yang lebih baik.
Prediksi Dampak Jangka Panjang
Jika pemblokiran IP berbasis OpenResty terus dilakukan secara agresif tanpa komunikasi yang baik, ini bisa memengaruhi ekosistem web hosting di Indonesia. Pengguna mungkin beralih ke hosting atau ISP luar negeri, yang bisa merugikan industri lokal. Selain itu, pengembang aplikasi mungkin mulai beralih ke arsitektur yang tidak bergantung pada HTTP (misalnya, menggunakan protokol seperti gRPC atau WebSockets) untuk menghindari pemblokiran. Namun, ini memerlukan investasi tambahan dalam infrastruktur dan pengembangan.
Di sisi lain, tekanan dari pengguna dan pelanggan bisa mendorong hosting untuk lebih transparan dalam kebijakan pemblokiran dan menggunakan OpenResty dengan lebih bijaksana, seperti memblokir hanya IP yang benar-benar bermasalah atau menyediakan mekanisme banding yang mudah diakses.
Kesimpulan
OpenResty adalah alat yang sangat kuat untuk mengelola lalu lintas web dengan performa tinggi dan fleksibilitas luar biasa, tetapi penggunaannya untuk pemblokiran IP bisa menjadi pedang bermata dua. Di satu sisi, ini membantu hosting menjaga keamanan dan efisiensi; di sisi lain, pemblokiran yang berlebihan atau tidak transparan dapat merugikan pengguna dan penyedia hosting itu sendiri. Masalah yang Anda alami mencerminkan tantangan dalam menyeimbangkan keamanan, aksesibilitas, dan kepuasan pelanggan di era internet yang diatur ketat seperti di Indonesia. Dengan langkah seperti menggunakan VPN, menghubungi ISP atau hosting, atau mengeksplorasi protokol alternatif, Anda mungkin bisa mengatasi masalah ini sambil menunggu solusi yang lebih sistemik dari industri. (Edy & Grok)