diff --git a/packages/next/src/server/base-server.ts b/packages/next/src/server/base-server.ts index 55dff6a81e973..e9a8461835fa0 100644 --- a/packages/next/src/server/base-server.ts +++ b/packages/next/src/server/base-server.ts @@ -889,7 +889,11 @@ export default abstract class Server { } const { originalRequest } = req as NodeNextRequest - const isHttps = !!(originalRequest?.socket as TLSSocket)?.encrypted + const xForwardedProto = originalRequest?.headers['x-forwarded-proto'] + const isHttps = xForwardedProto + ? xForwardedProto === 'https' + : !!(originalRequest?.socket as TLSSocket)?.encrypted + req.headers['x-forwarded-host'] ??= req.headers['host'] ?? this.hostname req.headers['x-forwarded-port'] ??= this.port ? this.port.toString()