Angular firebase 托管上的 9 个项目未能通过 https 请求
Angular 9 project on firebase hosting failed to pass https requests
我在我的 angular 项目中使用了代理,如下所示。
{
"/api": {
"target" : "https://<domain_name>/",
"secure": false
}
}
通过执行
的命令,它在本地与 HTTPS POST 请求的 ssl 完美配合
ng serve --ssl true --proxy-config proxy.conf.json
但是在我将它托管到 firebase 托管之后,它总是在每个 POST 请求中给出以下错误。
Http failure during parsing for https://<app_name>.firebaseapp.com/api/<route_name>
您在 运行 本地环境中的 Angular 应用程序重定向某些 URL 段时包含的代理配置文件是 Angular 开发服务器提供的一项功能.
由于您使用的是 firebase,firebase 还提供了类似的重定向功能,可以在 firebase.json
文件中进行配置。由于您使用 firebase 进行部署,我假设您已经有一个 firebase.json 文件。如果没有,请访问 Firebase CLI 官方文档将其安装在您的本地环境中。现在 运行 firebase init
命令将生成一个基本的 firebase.json 文件。
包括重定向选项,如下例所示:
firebase.json
"hosting": {
// ... other configurations ...
"redirects": [ {
"source": "/api/:path*",
"destination": "https://<gcp_domain_name>/:path",
"type": 301
}
}
让我们分解一下我们刚刚做了什么。源 属性 将 URL 段作为 Firebase 执行重定向的值。 :path*
指定应捕获 /api
之后的任何 URL 段并将其存储在变量 :path
中。现在在目标 属性 中,指定目标域后跟 /:path
以执行重定向。类型 属性 指定 Http 响应代码 301 来表示永久重定向(在您的情况下)。您可以在重定向数组中添加多个重定向。
有关 Firebase 中重定向配置的更多信息,请参阅 Firebase 官方文档中的 this page。除了重定向之外,您还可以找到可以在 Firebase 托管中配置的所有选项。
我在我的 angular 项目中使用了代理,如下所示。
{
"/api": {
"target" : "https://<domain_name>/",
"secure": false
}
}
通过执行
的命令,它在本地与 HTTPS POST 请求的 ssl 完美配合ng serve --ssl true --proxy-config proxy.conf.json
但是在我将它托管到 firebase 托管之后,它总是在每个 POST 请求中给出以下错误。
Http failure during parsing for https://<app_name>.firebaseapp.com/api/<route_name>
您在 运行 本地环境中的 Angular 应用程序重定向某些 URL 段时包含的代理配置文件是 Angular 开发服务器提供的一项功能.
由于您使用的是 firebase,firebase 还提供了类似的重定向功能,可以在 firebase.json
文件中进行配置。由于您使用 firebase 进行部署,我假设您已经有一个 firebase.json 文件。如果没有,请访问 Firebase CLI 官方文档将其安装在您的本地环境中。现在 运行 firebase init
命令将生成一个基本的 firebase.json 文件。
包括重定向选项,如下例所示:
firebase.json
"hosting": {
// ... other configurations ...
"redirects": [ {
"source": "/api/:path*",
"destination": "https://<gcp_domain_name>/:path",
"type": 301
}
}
让我们分解一下我们刚刚做了什么。源 属性 将 URL 段作为 Firebase 执行重定向的值。 :path*
指定应捕获 /api
之后的任何 URL 段并将其存储在变量 :path
中。现在在目标 属性 中,指定目标域后跟 /:path
以执行重定向。类型 属性 指定 Http 响应代码 301 来表示永久重定向(在您的情况下)。您可以在重定向数组中添加多个重定向。
有关 Firebase 中重定向配置的更多信息,请参阅 Firebase 官方文档中的 this page。除了重定向之外,您还可以找到可以在 Firebase 托管中配置的所有选项。