使用 IIS7.5 进行跨域工作



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

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

营销应用程序 - "www.mydomain.com" - 用作营销网站和注册新业务。我有一个规则,强制任何非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",因为这会让我解决跨域问题。

您需要在 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>

取自这里

以防万一您也从 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>

最新更新