From 6570bb41d43fe9985a588360d6b7571596fc70b0 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Mon, 21 Aug 2023 18:28:29 +0100 Subject: [PATCH] fix: get X-Forwarded-Host --- src/middleware.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/middleware.ts b/src/middleware.ts index 4f7efd4d..27b59260 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -10,9 +10,9 @@ const HTTPWhitelistPaths = ["/api/healthcheck"] export default async function middleware(req: NextRequest) { const { pathname } = req.nextUrl - const host = ( + const realHost = ( req.headers.get("X-Forwarded-Host") || req.headers.get("Host") - )?.replace(/\/$/, "") + )?.replace(/\/+$/, "") if ( IS_PROD && @@ -44,10 +44,10 @@ export default async function middleware(req: NextRequest) { pathname === "/atom.xml" || pathname === "/feed/xml" ) { - return NextResponse.redirect(`https://${host}/feed`, 301) + return NextResponse.redirect(`https://${realHost}/feed`, 301) } - console.debug(`${req.method} ${host}/${pathname}`) + console.debug(`${req.method} ${realHost}/${pathname}`) if ( pathname.startsWith("/api/") || @@ -70,7 +70,7 @@ export default async function middleware(req: NextRequest) { } = {} try { tenant = await ( - await fetch(new URL(`/api/host2handle?host=${host}`, req.url)) + await fetch(new URL(`/api/host2handle?host=${realHost}`, req.url)) ).json() } catch (error) {}