gpt4 book ai didi

node.js - 在本地运行 firebase 功能时如何使 https 工作并添加自签名 SSL 证书?

转载 作者:行者123 更新时间:2023-12-03 12:19:24 25 4
gpt4 key购买 nike

我正在运行一个基于单个 firebase 函数的嵌套 api,由于 OAuth 的缘故,我的 Controller 中的许多端点都需要 SSL 才能工作,因为它们会发回仅 https 签名的 cookie。

因此,我需要能够使用 SSL 运行本地服务的 firebase 函数。我已经生成并注册了证书,并且之前已经将它用于 React/Angular 和独立的 Node + Nest 项目。

这特别是关于让它与 firebase 函数一起工作。

目前,在我的索引中有:

export const API = functions
.region("europe-west2")
.https.onRequest(nestApp);

nestApp 在哪里

const server = express();

现在在一个普通的 Node + Nest 应用程序中,我所要做的就是:

app = await NestFactory.create(AppModule, {
httpsOptions: {
key: keyFile,
cert: certFile,
},
});

使它适应上面的 firebase 函数不起作用,因为我必须改为传递 express 实例。我到处查看文档和类型,对象嵌套在带有 key 和证书的 http 选项所在的位置,但运气不好。

@nestjs/common 中的 HttpOptions 接口(interface)确实具有这两个属性,但是 express adapter.options() 采用请求处理程序而不是选项对象。

最佳答案

我认为你想做的事情是不可能的......你想要它做的方式。

在本地运行 Cloud Functions 的目的是为了代码测试目的,但谷歌仍将管理背后的基础设施(SSL、身份验证等),即使是在本地环境中也是如此。

与其使用 Function 管理它,不如模拟一个小型服务器?我能想到一个简单的 NGINX as a Reverse proxy (您可以为此使用任何您想要的服务)。这将使您能够以更友好的方式管理 SSL 证书。

这样想:在您的工作流程中,您调用 NGINX 而不是直接调用 Function。 NGINX 将在内部调用 Cloud Function,该函数将完成其工作,响应将返回到 NGINX,然后从 NGINX 返回到您的工作流,https-signed 为下一步做好准备。 p>

希望对您有所帮助! :)

关于node.js - 在本地运行 firebase 功能时如何使 https 工作并添加自签名 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62174070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com