在使用 ASPNET CORE DotNet 6.0 后端(使用端口 44303)的 Angular v16.1.0(使用端口 44498)中遇到 CORS 错误后,我遵循了使用 Angular 代理重写对后端 URL 的请求的建议。 这是我的代理配置:
我在打字稿组件中调用 HTTClient GET:
什么也没发生 - URL 没有被重写,浏览器显示 HTTP 404 未找到消息:
我启用了详细日志记录,并收到以下消息:
我对此进行了广泛的研究,但未能找到任何人报告此特定问题,尤其是特定的 WebPack 错误消息。 我发现其他人报告 Angular 代理无法工作,但几乎在所有情况下,他们似乎都没有重写 HTTPS 调用。
预期的行为是将 URL https://localhost:44498/api/account/user 重写为 https://localhost:44303/api/account/user 以便 GET 成功(就像由 POSTMAN 调用时一样)。 )
尝试更改代理配置
const PROXY_CONFIG = [
{
"/api/*": {
"target": 'https://localhost:44303',
"secure": true,
}
}
]
到
const PROXY_CONFIG = [
{
"/api/**": {
"target": 'https://localhost:44303',
"secure": true,
}
}
]
注意路径匹配器中的双
**
。我认为单个 *
表示单个路径部分的通配符,双数表示完整路径的通配符。