Microsoft Azure 应用程序在收到长 URL 时输出错误。我该如何解决?

Microsoft Azure app outputs error when it receives a long URL. How do I fix this?

我正在使用应用服务托管 wordpress 博客。当我使用网站的搜索引擎进行搜索时,收到 Azure 错误。我假设是因为 URL 作为防止注入攻击的安全功能太长了。

错误信息是:“您要查找的资源已被删除、更名或暂时不可用。”

您似乎需要将自定义 MIME 类型添加到 Azure 应用服务 web.config 文件中以用于您正在搜索的文件类型。

  1. 打开您的 Azure 门户。 转到您用来托管 word press 的应用服务。 单击高级工具。
  2. 点击开始。它将打开 Kudu 应用服务。
  3. 单击调试控制台 >> CMD。
  4. 从顶部资源管理器导航,转到 site/wwwroot 并找到您的 web.config 文件。
  5. 单击编辑铅笔图标。
  6. 它将打开编辑器供您编辑 web.config 文件。添加你的 staticContent 元素中的 mime 类型。我在下面举个例子。
<mimeMap fileExtension=".mp4" mimeType="wp-content/themes/move-service/assets/video" />
<mimeMap fileExtension=".extension" mimeType="your_files_url" /> 

从@Shirin 窃取部分答案。

  1. 打开您的 Azure 门户。转到您正在使用的应用服务 主机字新闻。单击高级工具。
  2. 点击开始。它将打开 Kudu 应用服务。
  3. 单击调试控制台 >> CMD。
  4. 从顶部资源管理器导航,转到 site/wwwroot 并找到您的 web.config 文件。
  5. 点击编辑
  6. 它将打开编辑器供您编辑 web.config 文件。添加安全 > requestFiltering > requestLimits.maxQueryString 元素。还要添加 system.web > httpRuntime.maxQueryStringLength 元素。我在下面举个例子。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
    <customErrors mode="Off"/>
    <httpRuntime maxQueryStringLength = "10000" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxQueryString="10000" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>