【问题标题】:Disabling request validation on Azure Websites在 Azure 网站上禁用请求验证
【发布时间】:2012-11-30 18:23:11
【问题描述】:

我的 node.js 应用程序在我自己的机器上运行良好,但是,在使用 Git 将其推送到 Azure 网站后,我遇到了请求验证问题。

我的一些请求被 IIS 验证过程捕获。解决方法是将其添加到 web.config:

<httpRuntime requestPathInvalidCharacters=""/>

我使用 FTP 从我网站的 site\wwwroot 文件夹下载了 web.config,将其添加到 repo,在 XML 中添加了新元素,然后将其推送回 Azure。

我的 web.config 文件似乎已被默认覆盖。

有没有办法改变这种行为?或者另一种关闭请求验证的方法?还是我太厚了?

更新

我收回这一切,似乎是快递阻止了请求。但是,问题仍然是“如何自定义我的 web.config?”

【问题讨论】:

  • 您是否检查过您的 web.config 转换是否在发布时启动?
  • 我预计这不会发生。有链接吗?

标签: node.js azure azure-web-app-service


【解决方案1】:

您可以尝试设置自定义验证类型吗?像这样:

  <httpRuntime requestPathInvalidCharacters=""
               requestValidationType="MyValidator, MyAssembly"/>

还有班级:

public class MyValidator : RequestValidator
{
    protected override bool IsValidRequestString(HttpContext context, string value, RequestValidationSource requestValidationSource, string collectionKey, out int validationFailureIndex)
    {
       validationFailureIndex = 0;
       return true;
    }
}

【讨论】:

  • 好主意,不幸的是这是一个 node.js 站点。我确信这适用于 asp.net。我对 web.config 所做的更改似乎没有生效,这是主要问题
  • 你能发布你得到的确切错误吗?为什么您认为这些变化似乎没有持续?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 2015-02-13
  • 2015-02-09
  • 1970-01-01
  • 2021-10-26
相关资源
最近更新 更多