【问题标题】:Receive 400 Bad Request from Image Resizer request in Azure在 Azure 中接收来自 Image Resizer 请求的 400 Bad Request
【发布时间】:2013-09-13 17:16:34
【问题描述】:

ImageResizer 作为 Azure 虚拟应用程序运行(在 ImageResizer 修补程序之后)。这在 Azure 仿真中运行良好,但在 Azure 云中存在问题。如果没有指定查询字符串参数并且 url 重定向到 blob 存储,图像调整器工作正常,但是如果指定了查询字符串参数,那么我会收到 400“错误请求”错误。

下面是我的浏览器截图:

我的 Azure 实例运行的是 Windows Server 2012。我还禁用了 DiskCache 插件以减少问题。

【问题讨论】:

  • 如果我发送的修补程序有帮助,请告诉我。
  • 是的 - 热修复 3.3.5.805 可以解决问题!谢谢

标签: azure imageresizer


【解决方案1】:

我遇到了和你一样的问题。我用提琴手看看我是否能弄清楚出了什么问题,我想我已经解决了。这是 AzureReader2 以及它如何连接 URL 的问题。

来自 fiddler 的一个具体例子是这个 URL:http://xxx.blob.core.windows.net//card-images/14_main_image.png

如您所见,它连续有两个斜杠,这会给您 400“错误请求”。

我下载了 AzureReader2 的源代码,并将所有出现的“CloudBlobClient.BaseUri.OriginalString”替换为“CloudBlobClient.BaseUri.OriginalString.TrimEnd('/', '\')”

我不知道这是否是最好的解决方案,但至少在更好的解决方案到来之前它是有效的。如果你有兴趣,我可以把编译好的dll发给你。

最好的问候 马丁

【讨论】:

  • 感谢 Martin - 您的修复似乎基本上解决了问题,并且此更改现在是热修复 3.3.5.805 的一部分。
  • 是的,Martin 的解决方案一针见血。仅供参考,@martin-larsen,您将获得免费支持事件和包含修复的大漏洞赏金奖励!电子邮件 support@imageresizing.net
  • 我遇到了同样的问题,但只有当我尝试在本地部署时才能在服务器上正常工作。有什么解决办法吗?
【解决方案2】:

我会将此添加为回复 user2486535 的评论,但我的 StackOverflow 代表还不足以发布 cmets...

此时您可能收到 400 Bad Request,因为最新版本的 Microsoft.WindowsAzure.Storage (3.0.2.0) 与随 Windows Azure SDK (2.2) 一起发布的当前存储模拟器不兼容。

在本文底部的“存储模拟器指南”下进行了解释: http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/27/windows-azure-storage-release-introducing-cors-json-minute-metrics-and-more.aspx

截至 1 月 27 日,Microsoft 发布了与 Microsoft.WindowsAzure.Storage (3.0.2.0) 兼容的 Windows Azure Storage Emulator (2.2.1) 预览版: http://blogs.msdn.com/b/windowsazurestorage/archive/2014/01/27/windows-azure-storage-emulator-2-2-1-preview-release-with-support-for-2013-08-15-version.aspx

希望这可以帮助您度过 Windows Azure SDK 的下一个正式版本。

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 2020-05-29
    • 2013-10-02
    • 2019-10-22
    相关资源
    最近更新 更多