diff --git a/server/lib/traefik/getTraefikConfig.ts b/server/lib/traefik/getTraefikConfig.ts index 518dd964c..48eb03638 100644 --- a/server/lib/traefik/getTraefikConfig.ts +++ b/server/lib/traefik/getTraefikConfig.ts @@ -44,7 +44,8 @@ export async function getTraefikConfig( filterOutNamespaceDomains = false, // UNUSED BUT USED IN PRIVATE generateLoginPageRouters = false, // UNUSED BUT USED IN PRIVATE allowRawResources = true, - allowMaintenancePage = true // UNUSED BUT USED IN PRIVATE + allowMaintenancePage = true, // UNUSED BUT USED IN PRIVATE + allowBrowserGatewayResources = true ): Promise { // Get resources with their targets and sites in a single optimized query // Start from sites on this exit node, then join to targets and resources @@ -240,7 +241,7 @@ export async function getTraefikConfig( continue; } - if (resource.http) { + if (resource.mode === "http") { if (!resource.domainId || !resource.fullDomain) { continue; } @@ -572,7 +573,7 @@ export async function getTraefikConfig( serviceName ].loadBalancer.serversTransport = transportName; } - } else { + } else if (resource.mode === "tcp" || resource.mode === "udp") { // Non-HTTP (TCP/UDP) configuration if (!resource.enableProxy || !resource.proxyPort) { continue; diff --git a/server/private/lib/traefik/getTraefikConfig.ts b/server/private/lib/traefik/getTraefikConfig.ts index 7ad6b853b..a46033196 100644 --- a/server/private/lib/traefik/getTraefikConfig.ts +++ b/server/private/lib/traefik/getTraefikConfig.ts @@ -493,16 +493,29 @@ export async function getTraefikConfig( const transportName = `${key}-transport`; const headersMiddlewareName = `${key}-headers-middleware`; + logger.debug( + `Processing resource ${resource.name} with domain ${fullDomain} and ${targets.length} targets` + ); + if (!resource.enabled) { + logger.debug( + `Resource ${resource.name} is disabled, skipping Traefik config` + ); continue; } - if (resource.http) { + if (resource.mode == "http") { if (!resource.domainId) { + logger.debug( + `Resource ${resource.name} does not have a domainId, skipping Traefik config` + ); continue; } if (!resource.fullDomain) { + logger.debug( + `Resource ${resource.name} does not have a fullDomain, skipping Traefik config` + ); continue; } @@ -958,7 +971,7 @@ export async function getTraefikConfig( serviceName ].loadBalancer.serversTransport = transportName; } - } else { + } else if (resource.mode == "tcp" || resource.mode == "udp") { // Non-HTTP (TCP/UDP) configuration if (!resource.enableProxy) { continue;