Fix redirect host resolution in proxy.ts behind reverse proxy
This commit is contained in:
13
proxy.ts
13
proxy.ts
@@ -6,16 +6,17 @@ export default auth((req) => {
|
|||||||
const isLoggedIn = !!req.auth;
|
const isLoggedIn = !!req.auth;
|
||||||
const isLoginPage = nextUrl.pathname === "/login";
|
const isLoginPage = nextUrl.pathname === "/login";
|
||||||
|
|
||||||
|
// Proxy arkasında çalışırken doğru adresi alabilmek için
|
||||||
|
const host = req.headers.get("x-forwarded-host") || req.headers.get("host") || "localhost:3000";
|
||||||
|
const proto = req.headers.get("x-forwarded-proto") || "http";
|
||||||
|
const baseUrl = `${proto}://${host}`;
|
||||||
|
|
||||||
if (!isLoggedIn && !isLoginPage) {
|
if (!isLoggedIn && !isLoginPage) {
|
||||||
const url = nextUrl.clone();
|
return NextResponse.redirect(new URL("/login", baseUrl));
|
||||||
url.pathname = "/login";
|
|
||||||
return NextResponse.redirect(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isLoggedIn && isLoginPage) {
|
if (isLoggedIn && isLoginPage) {
|
||||||
const url = nextUrl.clone();
|
return NextResponse.redirect(new URL("/dashboard", baseUrl));
|
||||||
url.pathname = "/dashboard";
|
|
||||||
return NextResponse.redirect(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NextResponse.next();
|
return NextResponse.next();
|
||||||
|
|||||||
Reference in New Issue
Block a user