From 594bef073c09cd5ba55d211e2794924856cc9edd Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sun, 5 Oct 2025 12:49:37 -0600 Subject: [PATCH] fix: configurar PWA para proxies y resolver error 500 en APIs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Agregar headers CORS para manifest.webmanifest y service worker - Configurar navigateFallback a /index.html con denylist para rutas API y Authentik - Mapear SUPABASE_ANON_KEY a SUPABASE_SERVICE_ROLE_KEY en docker-compose - Agregar headers Cross-Origin para PWA detrĂ¡s de proxies --- docker-compose.yml | 2 +- nuxt4-app/nuxt.config.ts | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 772d141..a9540a6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - NODE_ENV=production - SUPABASE_URL=${SUPABASE_URL} - - SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY} + - SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_ANON_KEY} - NEXT_PUBLIC_SUPABASE_URL=${SUPABASE_URL} - NEXT_PUBLIC_SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY} networks: diff --git a/nuxt4-app/nuxt.config.ts b/nuxt4-app/nuxt.config.ts index abc8dc0..34d074f 100644 --- a/nuxt4-app/nuxt.config.ts +++ b/nuxt4-app/nuxt.config.ts @@ -44,6 +44,30 @@ export default defineNuxtConfig({ ] } }, + nitro: { + routeRules: { + '/**': { + headers: { + 'Cross-Origin-Embedder-Policy': 'require-corp', + 'Cross-Origin-Opener-Policy': 'same-origin' + } + }, + '/manifest.webmanifest': { + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': 'GET', + 'Content-Type': 'application/manifest+json' + } + }, + '/sw.js': { + headers: { + 'Service-Worker-Allowed': '/', + 'Cache-Control': 'public, max-age=0' + } + } + } + }, + pwa: { registerType: 'autoUpdate', strategies: 'generateSW', @@ -84,7 +108,8 @@ export default defineNuxtConfig({ }, workbox: { globPatterns: ['**/*.{js,css,html,png,svg,webp,ico,json,woff2}'], - navigateFallback: '/', + navigateFallback: '/index.html', + navigateFallbackDenylist: [/^\/api\//, /^\/outpost\.goauthentik\.io/], maximumFileSizeToCacheInBytes: 4 * 1024 * 1024, runtimeCaching: [ {