mimeMap无法在Azure网站

时间:2015-12-15 22:02:13

标签: c# azure iis owin azure-web-sites

我有一个Azure网站,其中包含多个虚拟应用程序。根应用程序具有SPA(角度)的URL重写规则:

<rule name="AngularJS" stopProcessing="true">
  <match url=".*"/>
  <conditions  logicalGrouping="MatchAll">
    <!--Is not file-->
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
    <!--Is not directory-->
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
    <!--Is not /api-->
    <add input="{REQUEST_URI}" pattern="^/(api)" negate="true"/>
    <!--Is not *.extension-->
    <add input="{URL}" pattern="^.*\.(ashx|axd|css|gif|png|mov|MOV|avi|ttf|jpg|jpeg|js|flv|f4v|woff|woff2|json)$" negate="true"/>
  </conditions>
  <action type="Rewrite" url="/"/>
</rule>

根应用程序还有一个非常小的OWIN / Katana中间件应用程序,它运行静态文件中间件以根据条件返回单个页面。 RAMMFAR已关闭,因此静态文件中间件仅用于返回主页。

我的问题是我有.woff,.woff2和.json文件拒绝在Azure中加载,但在本地IIS中加载正常。我有一个web.config,其中包含以下内容:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff"/>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>

    <remove fileExtension=".woff2"/>
    <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2"/>

    <remove fileExtension=".json"/>
    <mimeMap fileExtension=".json" mimeType="application/json"/>
  </staticContent>
</system.webServer>

这在Azure中不起作用。它适用于本地,但不适用于Azure。我甚至将web.configs放在文件所在的每个文件夹中,以确保不会覆盖规则。我认为这可能与在Azure网站中使用虚拟应用程序有关,但我无法更改我的网站结构。如何正确地提供这些.woff,.woff2和静态json文件? 编辑:刚检查了IIS日志,发现其中一个文件的请求跟踪失败。我收到“SECURITY_DENIED_BY_MIMEMAP”错误,这意味着它与web.config没有被IIS接收。

TLDR:即使我有相应的web.config(据我所知),即使Woff,json和woff2文件存在于指定位置的服务器上,它们也会返回404。

2 个答案:

答案 0 :(得分:1)

目前只有一种方法可以做到这一点,我已与Azure团队确认。

将web.config文件添加到应用程序/** Detects keypoints and computes the descriptors */ CV_WRAP virtual void detectAndCompute( InputArray image, InputArray mask, CV_OUT std::vector<KeyPoint>& keypoints, OutputArray descriptors, bool useProvidedKeypoints=false ); 的根目录中,其中包含以下内容

wwwroot\web.config

答案 1 :(得分:0)

如果您使用的是OWIN / Katana,则需要处理静态文件 - 添加Nuget Microsoft.Owin.StaticFiles Install-Package Microsoft.Owin.StaticFiles