From cdd710455fb39b8d36bba6d914ba3e485b19f9a6 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 24 Aug 2023 21:37:39 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Issue=20with=20middleware=20redi?= =?UTF-8?q?rect=20in=20docker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/middleware.ts | 5 ++--- src/pages/404.tsx | 4 ++-- src/tools/server/url.ts | 6 ++++++ 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 src/tools/server/url.ts diff --git a/src/middleware.ts b/src/middleware.ts index fffd32324..fe1b18311 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,6 +1,7 @@ import { NextRequest, NextResponse } from 'next/server'; import { env } from 'process'; +import { getUrl } from './tools/server/url'; import { client } from './utils/api'; const skippedUrls = [ @@ -41,7 +42,5 @@ export async function middleware(req: NextRequest) { return NextResponse.next(); } - url.pathname = '/onboard'; - - return NextResponse.redirect(url); + return NextResponse.redirect(getUrl(req) + '/onboard'); } diff --git a/src/pages/404.tsx b/src/pages/404.tsx index e0afe4192..d703aad43 100644 --- a/src/pages/404.tsx +++ b/src/pages/404.tsx @@ -1,9 +1,9 @@ import { Button, Center, Stack, Text, Title, createStyles } from '@mantine/core'; import { GetServerSidePropsContext } from 'next'; +import { useTranslation } from 'next-i18next'; import Head from 'next/head'; import Image from 'next/image'; import Link from 'next/link'; -import { useTranslation } from 'next-i18next'; import pageNotFoundImage from '~/images/undraw_page_not_found_re_e9o6.svg'; import { pageNotFoundNamespaces } from '~/tools/server/translation-namespaces'; @@ -24,7 +24,7 @@ export default function Custom404() { {t('title')} {t('text')} - diff --git a/src/tools/server/url.ts b/src/tools/server/url.ts new file mode 100644 index 000000000..becd4d17d --- /dev/null +++ b/src/tools/server/url.ts @@ -0,0 +1,6 @@ +import { NextRequest } from 'next/server'; + +export const getUrl = (req: NextRequest) => { + const protocol = req.nextUrl.protocol; + return protocol + '//' + req.headers.get('host'); +};