将部署在 Firebase 应用托管上的 NextJS 应用的 http 重定向到 https

问题描述 投票:0回答:1

我做了以下事情:

  1. 我按照中概述的说明创建了一个NextJS应用程序 NextJS 文档

  2. 此后,我使用 Firebae App Hosting 部署了这个 NextJS 应用程序 (公开预览版)按照以下说明进行操作 Firebase 文档

  3. 最后,我通过以下方式连接了一个自定义域(在 GoDaddy 上购买) 遵循教程,也在 Custom 域中概述 文档(注意官方文档没有提到任何 GoDaddy 的特殊性)。

这一切都工作得很好,除了一件事,那就是

http
->
https
重定向

我找不到任何资源来解释这如何适用于专门部署在 Firebase 应用托管设置上的 NextJS 应用。有一些资源提到了如何在旧版 Firebase Hosting 上执行此操作,还有一些关于如何在中间件上添加类似内容的建议,但两者都对我不起作用(在后者中,我的中间件似乎完全被忽略):

if (request.headers.get("x-forwarded-proto") !== "https") { return NextResponse.redirect( `https://${request.headers.get('host')}${request.nextUrl.pathname}`, 301 ) }
因此,建议使用什么方法来确保当用户访问 

http://example.com

 时,它会被重定向到
https://example.com
,以获取 
部署在 Firebase 应用程序托管上且域名是在 GoDaddy.com 上购买的 NextJS 应用程序?

firebase next.js dns nextjs14 firebase-app-hosting
1个回答
0
投票

Firebase 托管将所有域重定向到 HTTPS,Firebase 应用程序托管还重定向 Hosted.app 域(因为 .app 强制使用 HTTPS)。自定义域似乎没有被重定向。

最简单的解决方案是使用服务作为

CloudFlare

并以这种方式创建重定向规则。正如您提到的,另一个解决方案是同时使用常规 Firebase 托管。 您可以在

此处

发布 Firebase 的功能建议。

© www.soinside.com 2019 - 2024. All rights reserved.