C# Asp.Net Core 2.0 HTTP->;红隼上的HTTPS
我正在学习基于Web的编程,目前选择在Asp.NETCore2.0上工作。 我已经成功地创建了一个包含两层控制器Home和API的Web应用程序。 主控制器直接与我的视图交互,而从主控制器使用GetAsync、PostAsync、PutAsync等调用API控制器。 最近,我决定将此应用程序移动到HTTPS。了解了自签名证书,并已成功使其运行,但我的API无法访问 关闭SSL后,我仍然可以通过Postman调用我的API 我曾经使用以下URI调用我的API: 现在我尝试使用URI:但在C# Asp.Net Core 2.0 HTTP->;红隼上的HTTPS,c#,asp.net-core,C#,Asp.net Core,我正在学习基于Web的编程,目前选择在Asp.NETCore2.0上工作。 我已经成功地创建了一个包含两层控制器Home和API的Web应用程序。 主控制器直接与我的视图交互,而从主控制器使用GetAsync、PostAsync、PutAsync等调用API控制器。 最近,我决定将此应用程序移动到HTTPS。了解了自签名证书,并已成功使其运行,但我的API无法访问 关闭SSL后,我仍然可以通过Postman调用我的API 我曾经使用以下URI调用我的API: 现在我尝试使用URI:但在respo
response.Wait()处中断。
有什么建议吗。提前谢谢
按要求:这是我的Startup.cs的一部分
services.AddMvc(
options =>
{
options.SslPort=5667;
options.Filters.Add(new RequireHttpsAttribute());
}
);
services.AddAntiforgery(
options =>
{
options.Cookie.Name=“_af”;
options.Cookie.HttpOnly = true;
options.Cookie.SecurePolicy=CookieSecurePolicy.Always;
options.HeaderName=“X-XSRF-TOKEN”;
}
)
HTTP和HTTPS不能通过同一端口提供服务。如果您的本地主机HTTP端点位于5667上,那么您的HTTPS端点很可能位于5668上-尽管您可以在Kestrel将在启动时登录的信息中自己检查端口号 在生产中,HTTP通常通过端口80提供服务,而HTTPS通过端口443提供服务。如果不另行指定,则这些是默认值
单独,您可能想考虑在<代码>配置块:
app.UseHttpsRedirection();
我将完全离开HTTP。因此,主应用程序也在侦听HTTPS,而不是HTTP和HTTPS的组合。谢谢你的快速回复。如果您可以编辑您的问题以包含相关的启动代码,这将非常有用。否则人们只能做出这样的假设。我现在在手机上,在火车上。我一到办公室就会这样做。谢谢Matt Johnson,我怀疑有上下文同步问题,但是我不知道您是否在api端向我们展示了代码。
app.UseHttpsRedirection();