C# 拒绝在IIS上访问ASP.NET WebAPI

C# 拒绝在IIS上访问ASP.NET WebAPI,c#,asp.net,asp.net-mvc,iis,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Iis,Asp.net Web Api,我必须使用ASP.NET应用程序:一个是Web API,另一个是向第一个应用程序发出请求的MVC Everthing在开发中工作(与IIS Express相比),但现在我将这两个应用程序发布到生产服务器,并且我无法使用MVC应用程序访问api 我已在API上启用CORS: var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); 在MVC应用程序上,我的api基本url设置为,然后在IIS中我有以下绑

我必须使用ASP.NET应用程序:一个是Web API,另一个是向第一个应用程序发出请求的MVC

Everthing在开发中工作(与IIS Express相比),但现在我将这两个应用程序发布到生产服务器,并且我无法使用MVC应用程序访问api

我已在API上启用CORS:

var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
在MVC应用程序上,我的api基本url设置为,然后在IIS中我有以下绑定(WEB api站点):

我可以通过postman向API发出请求,但当我运行my MVC应用程序时,我无法发出请求(同样,我可以在开发中发出请求)

多谢各位

编辑

控制器代码示例(MVC):

编辑2

InnerException消息:

the underlying connection was closed could not establish trust relationship for the ssl/tls

只是在评论中总结一下讨论。 问题是由于在IIS for Web API应用程序中使用了自签名证书

此问题的临时解决方案是在应用程序启动类(Global.asax)中添加这行代码:

当然,您不应该在生产中使用该代码行。在生产环境中,您应该具有有效的SSL证书

更多信息可在此帖子中找到:

仅在评论中总结讨论。 问题是由于在IIS for Web API应用程序中使用了自签名证书

此问题的临时解决方案是在应用程序启动类(Global.asax)中添加这行代码:

当然,您不应该在生产中使用该代码行。在生产环境中,您应该具有有效的SSL证书

更多信息可在此帖子中找到:

你说的“不能提出请求”是什么意思?你得到了什么样的答复?你是如何提出请求的?按主机名或本地主机请参见编辑,并且您不需要启用CORS,因为您是从同一域发出请求。SSL证书存在问题。请看这篇文章:你说的“不能提出请求”是什么意思?你得到了什么样的答复?你是如何提出请求的?按主机名或本地主机请参见编辑,并且您不需要启用CORS,因为您是从同一域发出请求。SSL证书存在问题。请参阅本帖:
    public const string WebApiBaseAddress = "https://localhost:44351/";

    public static HttpClient GetClient()
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri(WebApiBaseAddress);
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new
        MediaTypeWithQualityHeaderValue("application/json"));
        return client;
    }
the underlying connection was closed could not establish trust relationship for the ssl/tls
ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);