From e292f91d8160cb18d488986ac34c8343ba3edb17 Mon Sep 17 00:00:00 2001 From: Kar Date: Wed, 14 May 2025 08:00:04 +0000 Subject: [PATCH] Update caddy --- caddy | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/caddy b/caddy index c790a49..1ac3ba2 100644 --- a/caddy +++ b/caddy @@ -1,8 +1,54 @@ nano /etc/caddy/Caddyfile -minio-api.3027622.siliconpin.com { +domain2.com { reverse_proxy 0.0.0.0: } +yourdomain.com { + @allowed_origins { + origin_regexp ^(https?://(app\.example\.com|localhost:3000|dev\.site\.org))$ + } + + header @allowed_origins Access-Control-Allow-Origin "{http.request.header.origin}" + header @allowed_origins Access-Control-Allow-Methods "GET, POST, OPTIONS" + header @allowed_origins Access-Control-Allow-Credentials "true" + + reverse_proxy localhost:8055 +} +yourdomain.com { + # Handle OPTIONS preflight requests + @preflight method OPTIONS + + # Allow both HTTP and HTTPS origins (including localhost) + @allowed_origins { + origin http://localhost:3000 + origin https://localhost:3000 + origin https://*.example.com + origin https://your-production-domain.com + } + + # CORS headers for actual requests + header @allowed_origins Access-Control-Allow-Origin "{http.request.header.origin}" + header @allowed_origins Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" + header @allowed_origins Access-Control-Allow-Headers "*" + header @allowed_origins Access-Control-Allow-Credentials "true" + header @allowed_origins Vary Origin + + # Special handling for preflight requests + header @preflight Access-Control-Allow-Origin "{http.request.header.origin}" + header @preflight Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" + header @preflight Access-Control-Allow-Headers "*" + header @preflight Access-Control-Max-Age "3600" + + # Proxy to your backend + reverse_proxy localhost:8055 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Ensure OPTIONS requests get 204 responses + respond @preflight 204 +} # The Caddyfile is an easy way to configure your Caddy web server. #