我已将Angular 7应用程序部署到Azure存储静态网站。
Angular应用程序调用部署到Azure App Service的.NET Core API。
是否可以配置URL重写(反向代理)以将Angular应用程序请求路由到.NET Core API,而无需启用CORS?类似于使用Angular代理配置进行本地开发吗?
我已阅读到可以在Azure CDN中使用URL重写规则,但是我不太确定该怎么做。 https://docs.microsoft.com/en-us/azure/cdn/cdn-rules-engine-reference-features#url-rewrite
据我了解,URL重写规则中只能指定相对路径。
感谢您的帮助。
答案 0 :(得分:2)
是的,您可以执行此操作,但是要启用它,您需要使用Azure Premium CDN,它实际上并不很昂贵,并且按使用量收费,因此,如果您的站点不是很忙,那就应该没事了。 / p>
您将需要进入CDN门户和规则引擎并创建Url重写。
它看起来像这样。
请注意,正则表达式[^?.]*(\?.*)?$
基本上会匹配任何没有文件路径(没有文件扩展名)的路由。然后将其重定向到index.html
希望对您有帮助。
答案 1 :(得分:1)
您可以在站点部署的地方使用azure函数代理。我假设对于前端,您将拥有每个以/ api开头的网址。
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"root": {
"matchCondition": {
"route": "/api/{*route}",
"methods": [
"GET",
"HEAD"
]
},
"backendUri": "https://my-dot-net-server/{*route}": {
//If you want to override any headers
}
}
}
}
上述代理会将您的请求重定向到dotnet网址并发送响应。