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

部署在Firebase App Hosting的NextJS应用(GoDaddy域名)实现HTTP转HTTPS重定向

解决Firebase App Hosting部署的NextJS应用HTTP转HTTPS重定向问题

针对GoDaddy自定义域名、部署在Firebase App Hosting公开预览版的NextJS应用,HTTP无法自动跳转HTTPS的问题,按以下步骤排查解决:

1. 开启Firebase控制台强制HTTPS设置

登录Firebase控制台进入目标项目:

  • 进入App Hosting模块,选中已绑定的自定义域名
  • 打开域名的设置页面,找到“强制HTTPS”选项,确保处于开启状态
  • 保存后等待5-15分钟,让Firebase同步配置

2. 检查GoDaddy DNS配置

登录GoDaddy域名管理后台:

  • 确认DNS记录(A/CNAME)完全匹配Firebase提供的目标地址,无自定义HTTP转发规则
  • 清理冲突的DNS记录(比如同时存在A和CNAME指向不同地址的情况)
  • 等待DNS缓存刷新(最长24小时,可通过DNS查询工具验证生效状态)

3. 修复NextJS中间件不生效问题(若控制台设置无效)

若上述步骤仍未解决,调整NextJS中间件实现:

  • 确保中间件文件路径正确:必须放在项目根目录middleware.ts(或.js),或src/middleware.ts
  • 修改中间件逻辑,兼容Firebase请求头:
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'

export function middleware(request: NextRequest) {
  const proto = request.headers.get('x-forwarded-proto')
  const host = request.headers.get('host')
  
  if (proto !== 'https' && host) {
    return NextResponse.redirect(
      new URL(`https://${host}${request.nextUrl.pathname}${request.nextUrl.search}`, request.url),
      { status: 301 }
    )
  }
  
  return NextResponse.next()
}

// 匹配所有路径生效
export const config = {
  matcher: ['/:path*'],
}
  • 确保使用NextJS 13+版本(兼容Firebase App Hosting最新要求)
  • 重新部署:执行firebase deploy

4. 验证重定向效果

用curl命令测试:

curl -I http://your-domain.com

返回301状态码且Location指向HTTPS地址,即为配置生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 18:05:08