Web API 2 CORS不允许IP地址作为起源

时间:2015-10-01 02:52:41

标签: cors asp.net-web-api2

我有一个启用了CORS身份验证的Web API 2应用程序。本地我在端口80上运行两个站点,SPA站点和Web API,使用不同的主机头。一切正常。但是,我正在尝试在没有域的计算机上进行测试,因此我必须为这两个站点使用具有不同端口的IP地址。无论我做什么,Web API都会在请求的资源上提供旧的“No'Access-Control-Allow-Origin”标头。因此,“http://xxx.xxx.xxx.xxx:8090”原因不允许访问“。我的CORS配置如下:

var cors = new EnableCorsAttribute(
            origins: "*",
            headers: "*",
            methods: "*");
        config.EnableCors(cors);

当API在真实域上而不是在IP地址上时,是否只能运行Web API 2 CORS?这似乎是一个极端的限制。

不确定是否重要,但在本地我正在运行IIS 7.5,但我的测试机器是IIS 7.

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

原来它 IIS特定。只要我将API放在运行IIS 7.5的计算机上,它就能完美运行。欢呼声。

答案 1 :(得分:0)

如果您在没有成功的情况下尝试我的评论,请将以下内容添加到public class X extends VaadinServlet { // different class members @Override protected void servletInitialized() throws ServletException { super.servletInitialized(); getService().addSessionDestroyListener(new SynchronizerSessionDestroyListener()); } } 文件(Web.config标记内):

<system.webServer>

希望这有帮助!