You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLiteSpeed致Next.js请求对象URL错误,Nginx需修复哪个请求头?

问题:OpenLiteSpeed导致Next.js构造NextRequest时触发URL错误

问题场景

使用Next.js的NextRequest处理请求时,代码无法执行到业务逻辑,直接抛出URL无效错误。

代码示例

import { type NextRequest } from 'next/server';

export function GET(
    request : NextRequest,
    { params }: { params: { slug: string } }
) {
console.log('hola!')
// 后续业务逻辑
}

错误信息

⨯ TypeError: Invalid URL
at new URL (node:internal/url:775:36)
...
code: 'ERR_INVALID_URL',
input: '/sitemap/asdasd',
base: 'https, https://localhost:3000/sitemap/asdasd'

问题分析

错误显示构造URL时的base参数异常,包含重复的协议前缀(https, https://)。验证后确认,使用该错误base会触发相同报错,正确的base应为https://localhost:3000/sitemap/asdasd。

此问题源于OpenLiteSpeed转发请求时,错误设置了重复的转发请求头,导致Next.js构造NextRequest的URL时解析出错误的base值。

解决方案(通过Nginx修复)

在Nginx的反向代理配置中,覆盖OpenLiteSpeed发送的错误转发头,确保Next.js能获取正确的协议和主机信息:

location / {
    # 重置转发头,避免OpenLiteSpeed的错误值干扰
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    
    # 转发请求到OpenLiteSpeed服务地址
    proxy_pass http://your-openlitespeed-address;
}

重点修复X-Forwarded-Proto和X-Forwarded-Host这两个请求头——它们是Next.js构造请求URL的核心依赖,重置后即可消除重复前缀的问题。

内容的提问来源于stack exchange,提问作者LLDimup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:21:29