As of Sep 20, 2025, the official *.supabase.co domain is accessible again in the UAE. This proxy is no longer required. This proxy was created as a temporary workaround during the outage, and is preserved here for reference.
Minimal Fastify reverse proxy that lets your app talk to Supabase through an alternate domain. Useful if the direct *.supabase.co domain is blocked (eg. current Etisalat network restrictions in the UAE – incident: https://status.supabase.com/incidents/spyxwjqn7d2f).
Experimental: intended as a quick workaround. Hardens nothing, just forwards traffic.
Proxies only the standard Supabase service paths:
/rest/v1, /auth/v1, /realtime/v1 (WebSocket), /functions/v1, /storage/v1
All headers (including your anon/service keys) pass through unchanged. No caching, no rate limiting, no key rotation.
- Fork or clone this repo.
- Create a new Web Service in Render (Node runtime).
- Set the region near your Supabase project (Singapore if you're in UAE). See screenshot below.
- Add the required env var
SUPABASE_URL(the original Supabase project URL, e.g.https://xyzcompany.supabase.co). - Deploy. Render will assign you a new domain like
https://your-proxy.onrender.com. - Point your client SDK to the proxy domain instead of the direct Supabase URL.
| Name | Required | Description |
|---|---|---|
SUPABASE_URL |
Yes | Your original Supabase project base URL (no trailing slash). |
ENABLE_LOGGING |
No | Set to true to enable Fastify logs. |
Render sets PORT automatically.
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
"https://your-proxy.onrender.com", // proxy domain
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY
);
const { data, error } = await supabase.from("todos").select("*");/realtime/v1 is registered with websocket: true, so Supabase realtime should function normally through the proxy.
- No auth or rate limiting layer added – add one if you expose this publicly.
- Does not modify CORS; Fastify CORS is set to
origin: true(reflect request origin). Adjust if you need stricter rules. - Not a security boundary; treat it as a simple pipe.
- Add an allowlist of origins
- Add basic auth or API key at the proxy
- Add request rate limiting / logging / metrics
MIT
Created to help project owners in the UAE temporarily route around ISP blocking of Supabase domains. Use responsibly and respect local laws.

