Contoh error CORS yang sering ditemui kurang lebih seperti dibawah ini

Origin https://api.jaranguda.com is not allowed by Access-Control-Allow-Origin

CORS harus disetting dari sisi server, bukan dari client. Bila backend anda belum disetting CORSnya dan anda menggunakan HAProxy, bisa menyetting CORS dengan cara berikut ini.

Download cors.lua

download cors.lua dari repository HAProxy

wget https://raw.githubusercontent.com/haproxytech/haproxy-lua-cors/master/lib/cors.lua -O /etc/haproxy/cors.lua

Setting CORS dengan HAProxy

Edit file /etc/haproxy/haproxy.cfg tambahkan dibawah global

lua-load /etc/haproxy/cors.lua

dibagian frontend tambahkan

http-request lua.cors
http-response lua.cors "GET,PUT,POST,OPTIONS,PATCH" "api.jaranguda.com,dev-api.jaranguda.com,localhost:3000"

Bila anda mengijinkan API anda diakses oleh siapa saja (public) nama domain diatas cukup diganti dengan *, kalo hanya untuk beberapa domain tambahkan domain-domain/ip yang diijinkan.

Contoh lengkap konfigurasi dasar HAProxy

global
    log stdout local0
    lua-load /etc/haproxy/cors.lua
 
defaults
    mode http
    timeout connect 5s
    timeout client 5s
    timeout server 5s
    log global
 
frontend api-jaranguda
    bind :80
    http-request lua.cors
    # localhost:3000 untuk local development
    http-response lua.cors "GET,PUT,POST,OPTIONS,PATCH" "api.jaranguda.com,dev-api.jaranguda.com,localhost:3000"

Leave a comment

Your email address will not be published. Required fields are marked *