我有一个Azure API应用服务。 我在其中添加了*到CORS设置。
我在Azure中有另一个Web应用程序,我在其中调用Azure API应用程序。
示例:https://XXXXXX.XXXXXX.net/api/XXXXXX
当api使用小视频文件时调用工作,但每当视频超过20mb时,我总是得到 -
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:9000' is therefore not allowed access.
The response had HTTP status code 500
API接受POST请求中的ID,并处理Azure Media存储中文件夹中的视频。当视频低于20mb时,不会发生此错误。
知道问题可能是什么?
我一直在
500 - 请求超时。 Web服务器未能在指定时间内响应。 作为响应和控制台上的CORS错误。
API调用可以正常运行。
这是web.config看起来像
<system.web>
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" maxRequestLength="5097151" executionTimeout="1800" />
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="5097151000"/>
</requestFiltering>
</security>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>
<httpProtocol>
</httpProtocol>
</system.webServer>
答案 0 :(得分:2)
没有CORS标头返回,因为响应是HTTP 500,很可能是因为有效负载超出了允许的最大大小。
使用更大的值修改web.config
:
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="{value In Bytes}"/>
</requestFiltering>
</security>
</system.webServer>
</configuration>
From MSDN(强调我的) -
maxAllowedContentLength
可选的uint属性。 指定请求中内容的最大长度(以字节为单位)。 默认值为30000000,大约为28.6MB。
答案 1 :(得分:1)
如果没有CORS标头返回并且CORS设置已设置,则可能是应用程序由于异常而崩溃,并且它太大而无法反序列化。这是我的问题。
尝试使用azure cli进行调试。
答案 2 :(得分:-1)
应用程序,您发送请求,不接受Cross-Origin Resource Sharing
(服务器端)
最简单的解决方法是允许他们=)