Beberapa hari ini saya mencoba melakukan optimasi website klien menggunakan CDN Cloudfront bawaan AWS. Kebetulan menggunakan server AWS Lighsail, sehingga bisa memanfaatkan free tier setahun untuk CDN Cloudfront AWS.
Ketika saya berhasil menggunakan CDN Cloudfront, justru muncul error yang membuat semua icon pada website tidak keluar. Setelah menelusuri pada console, ternyata errornya kurang lebih seperti ini
Access to font at https://cdn.panduaji.com/xxx from panduaji.com origin panduaji.com has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Font yang berada pada server tidak ditampilkan oleh browser sehingga dari pesan eror tersebut saya bisa mencoba mencari tahu apa yang menjadi penyebab Access Blocked by CORS.
Penyebabnya
Jadi, permasalahan ini disebabkan oleh penyajian data yang berasal dari domain berbeda, yang mana ketika orang mengakses panduaji.com, tapi karena menggunakan cdn, gambar yang diambil dari cdn.panduaji.com. Kurang lebih begitu lah. Hal ini diblokir oleh browser dan tidak ditampilkan karena alasan keamanan.
Oleh karena itu, kita perlu melakukan beberapa hal yang berfungsi memberitahukan browser bahwa dalam kasus ini memang kita menggunakan hal tersebut. Itu yang dinamakan oleh CORS (Cross-Origin Resource Sharing). Untuk yang lebih tahu tentang CORS ini mungkin bisa bantu untuk mendeskripsikannya, karena saya takut membuat orang salah paham. Biar lebih paham, ada baiknya baca tentang CORS di sini.
Oh iya, sebelum melakukan ini, pastikan bahwa kamu sudah berhasil menggunakan CDN Cloudfront yak. Kalau belum berhasil sepertinya error seperti ini tidak akan muncul sih. Mungkin next time aku bakalan nulis tentang bagaimana menggunakan CDN Cloudfront AWS untuk wordpress dengan nginx sebagai web server.
Mengatasi No ‘Access-Control-Allow-Origin’ header is present on the requested resource
CORS pada Nginx
Cek dulu apakah sudah benar penempatan kodenya dengan perintah
sudo nginx -t
. Kalau sudah nggak ada error, tinggal restart service nginx dengan perintah sudo service nginx restart
.Buat Cache Policies
Distribution Behaviors
Edit Behaviors
Access Blocked by CORS SOLVED
Dengan melakukan beberapa langkah di atas, permasalahan icon tidak muncul sudah terselesaikan sehingga kamu bisa menggunakan cloudfront sebagai CDN. Sehingga websitemu bisa lebih cepat diakses dari mana-mana. Apabila ada yang mau bertanya silakan tulis di kolom komentar, mungkin saja saya bisa membantu menjawab.
Leave a Comment