AJAX和Azure反向代理的CORS问题
我和CORS有问题。 我通过域B从域A中的SPA调用AJAX到域C(我也是)中的RESTAPI,我将域B设置为反向代理和负载平衡器。 这三个应用程序都部署到Azure Web应用程序 从A到C的呼叫可以直接工作,没有问题。 但是从A通过B打到C的电话将不起作用 允许从A使用门户在B和C上使用CORS。 允许从B使用门户在C上使用CORS API服务器C的Web.config具有以下功能:AJAX和Azure反向代理的CORS问题,ajax,azure,proxy,cors,Ajax,Azure,Proxy,Cors,我和CORS有问题。 我通过域B从域A中的SPA调用AJAX到域C(我也是)中的RESTAPI,我将域B设置为反向代理和负载平衡器。 这三个应用程序都部署到Azure Web应用程序 从A到C的呼叫可以直接工作,没有问题。 但是从A通过B打到C的电话将不起作用 允许从A使用门户在B和C上使用CORS。 允许从B使用门户在C上使用CORS API服务器C的Web.config具有以下功能: <httpProtocol> <customHeaders>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" />
</customHeaders>
</httpProtocol>
因此,我的理解是API服务器必须允许SPA发出请求,这就是我认为上面几行所做的。那么有人知道这是怎么回事吗?您可以在应用程序服务中控制CORS,并且该设置可能会覆盖您的web.config。在应用程序服务菜单中,向下滚动至API部分,会出现CORS菜单
由于您正在指定某些允许的标题和方法,该部分可能不适用于您,但如果您为*添加记录,然后将其删除,则应开始使用基于web.config的CORS处理。您可以在应用程序服务中控制CORS,并且该设置可能会覆盖您的web.config。在应用程序服务菜单中,向下滚动至API部分,会出现CORS菜单 由于您正在指定某些允许的头和方法,该节可能不适用于您,但如果您为*添加记录,然后将其删除,则应开始使用基于web.config的CORS处理
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access.
The response had HTTP status code 400.