【问题标题】:Cross domain work around with IIS7.5使用 IIS7.5 解决跨域问题
【发布时间】:2012-06-12 01:39:03
【问题描述】:

我正在构建一个可以发布的应用程序,但是我在我的 ajax 调用中遇到了跨域脚本问题。

我使用的是 IIS7.5,并且我有以下应用程序设置

营销应用程序 - 'www.mydomain.com' - 用作营销网站和注册新业务。我有一个规则强制任何非 www。成为www

业务应用程序 - 'https://newbusiness.mydomain.com' - 用于访问他们订阅的服务

API 应用程序 - 'https://newbusiness.mydomain.com/api/.......' - 用于业务应用程序进行 crud 操作

API 应用程序是在业务应用程序下运行的应用程序。包含许多安全方法和一些匿名方法。

使用 jquery,我的营销应用程序尝试调用 api 应用程序时遇到问题。目前,如果我想从我的营销网站调用 api,我正在执行类似“https://api.mydomain.com/api/whatevermethod”之类的操作,因为它是跨域失败的。

无论如何我可以以某种方式将“https://api.mydomain.com/api/whatevermethod”映射为“https://mydomain.com/api/whatevermethod”,因为这会让我绕过十字架域问题。

【问题讨论】:

  • 我不认为这是跨域问题,因为只要 Web 服务允许外部调用者,Jquery ajax 就可以从任何 url 请求任何数据。是您的 www 规则仅在 www.mydomain.com 站点或整个 iis 上。如果它在 IIS 上,那么 newbusiness.mydomain.com/api 可能会被重定向到 newbusiness.mydomain.com/api。当您在 chrome 历史调试选项卡中调试 post 表单 jquery 或在 firefox 中的 firebug 时,ajax 调用的状态和错误是什么?
  • 您好尝试将此行添加到您的 web.config 文件中。它支持跨域 Ajax 请求。

标签: asp.net-mvc-3 iis cross-domain iis-7.5


【解决方案1】:

您需要在 IIS 中允许跨域调用。您可以通过设置Access-Control-Allow-OriginAccess-Control-Allow-Headers 来做到这一点

例如:

在根 web.config 中

<system.webserver>       
   <httpprotocol>
     <customheaders>
       <add name="access-control-allow-origin" value="*" />  
       <add name="access-control-allow-headers" value="content-type" />
     </customheaders>
    </httpprotocol>
 </system.webserver>

取自here

【讨论】:

    【解决方案2】:

    以防万一您也从 Amila 的回答中收到错误 500,这是整个 web.config 文件内容的样子

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <httpProtocol>
                <customHeaders>
                    <add name="access-control-allow-origin" value="*" />
                    <add name="access-control-allow-headers" value="content-type" />
                </customHeaders>
            </httpProtocol>
        </system.webServer>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 2013-08-13
      • 2019-04-13
      • 2017-04-13
      • 2011-03-06
      • 2011-11-17
      • 2019-11-14
      相关资源
      最近更新 更多