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

Nuxt 3 Server API中如何获取含端口的完整Host?

获取完整Host的解决方案

在Nuxt的server/api端点中,要获取包含端口的完整Host,你可以通过以下方式解决:

  • 直接读取请求头的host字段:
    getRequestURL()的host属性会自动忽略默认端口(如HTTP的80、HTTPS的443),但自定义端口会保留在请求头的host里,直接读取就能拿到完整内容。

    export default defineEventHandler(event => {
      const fullHost = event.node.req.headers.host
      console.log(fullHost) // 输出localhost:3000或domain.test
    })
    
  • 适配反向代理场景:
    如果你的服务部署在Nginx、Cloudflare这类反向代理之后,需要确保代理传递了正确的Host头;部分代理会用X-Forwarded-Host头传递原始主机信息,可以优先读取这个字段:

    export default defineEventHandler(event => {
      const fullHost = event.node.req.headers['x-forwarded-host'] || event.node.req.headers.host
      console.log(fullHost)
    })
    

注意:如果应用在生产环境使用标准端口(80/443),host头里不会包含端口,这是浏览器的默认行为,属于正常情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:45:55