我在如下的角度项目上使用了代理。
{
"/api": {
"target" : "https://<domain_name>/",
"secure": false
}
}
通过执行以下命令,它可以与ssl在本地完美地用于HTTPS POST请求:
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开发服务器提供的功能是在本地环境中运行Angular应用程序以重定向某些URL段时包含的代理配置文件。
由于您使用的是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
}
}
让我们细分一下我们刚刚做的事情。source属性将URL段作为Firebase进行重定向的值。:path*
指定/api
应捕获之后的任何URL段并将其存储在变量中:path
。现在,在目标属性中,指定目标域,然后/:path
执行重定向。type属性指定Http Response代码301来表示永久重定向(在您的情况下)。您可以在redirects数组中添加多个重定向。
有关Firebase中重定向配置的更多信息,请参阅Firebase官方文档中的此页面。除了重定向之外,您还可以找到可以在Firebase托管中配置的所有选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句