我正在尝试从我的角度应用程序向我的.NET Core WebAPI后端发送GET请求。两者都在localhost上运行。 Angular在端口4200上运行,WebAPI在端口5001上运行。当我在Angular中发出GET请求时,控制台中显示以下错误:
在线搜索后,几乎每个答案都归结为一个问题,即后端服务器上未正确启用CORS。但是,据我所知,我已经正确设置了CORS。这是我对CORS的配置:
这是Angular中的服务功能以及WebAPI中的GET方法:
我知道该URL是正确的,因为当我将该URL复制到Postman时,它可以正常工作。
主要是我想知道我是否搞砸了CORS,因为这似乎是此错误消息的主要问题,或者是否还有其他我可能错过的事情。
编辑(解决方案):
好的,所以通过各种尝试和错误,我相信我已经找到了问题。当我进行初始项目时,我是在JetBrains Rider中进行项目的。我决定尝试在Visual Studio中创建一个新项目,看看会发生什么,但是问题仍然存在。事实证明,问题不在于CORS,而在于无效的HTTPS localhost证书。当我尝试运行控制台命令use_backend apache if { ssl_fc_sni_end domain.com }
时,没有弹出确认证书的提示,而是一条通用的错误消息,没有用。这是我解决问题的方法(无论这是否是正确的讨论方式)。
答案 0 :(得分:3)
好的,因此,通过各种尝试和错误,我相信我已经找到了问题所在。当我进行初始项目时,我是在JetBrains Rider中进行项目的。我决定尝试在Visual Studio中创建一个新项目,看看会发生什么,但是问题仍然存在。事实证明,问题不在于CORS,而在于无效的HTTPS localhost证书。当我尝试运行控制台命令dotnet dev-certs https --trust
时,没有弹出确认证书的提示,而是一条通用的错误消息,没有用。这是我解决问题的方法(无论这是否是正确的讨论方式)。
这是我在运行dotnet dev-certs https --trust
时遇到的错误:
答案 1 :(得分:0)
我遇到了同样的问题,但与证书无关。
简单地说,只需在 sam deploy --stack-name sample-stack --s3-bucket bucket-to-deploy --capabilities CAPABILITY_IAM
上的配置方法中省略 HTTPS 重定向就对我有用。
startup.cs
然后,您应该将 Angular 应用程序设置为将请求发送到 app.UseHttpsRedirection();
协议。默认应该是:HTTP
。
或者,您可以将 HTTPS 重定向包含在 http://localhost:5000
检查中,以免忘记将其带回部署。
isProduction