无法从服务器读取。它可能没有适当的访问控制来源设置

Arj*_*n A 5 asp.net-web-api swagger swagger-ui

我收到以下错误:无法从服务器读取。它可能没有适当的访问控制源设置。将代码部署到服务器时。我做了很多研究,在web.config中添加了添加的以下代码

    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
      </customHeaders>
    </httpProtocol>
Run Code Online (Sandbox Code Playgroud)

或在启动项目中

public static void Configuration(IAppBuilder app)
        {
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
        }
Run Code Online (Sandbox Code Playgroud)

或int webapi.config->注册

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
Run Code Online (Sandbox Code Playgroud)

可以帮忙吗?有没有人有同样的问题

在此处输入图片说明

小智 9

这是一个老问题,但我有同样的问题,没有找到永久修复,但意外找到了解决方法。所以在这里分享一下。

Swagger URL 是http://localhost/blah/swagger/ui/index#/

但 swagger 文档的 URL 是https://localhost/blah/swagger/docs/v1

将文档的 URL 从https更改为http有效。

如果有人知道为什么即使两个 URL 具有相同的协议:https,上述问题也不起作用,请解释一下。