下载文件blob:代理错误(HTTP筛选器拒绝了该请求。请联系Forefront TMG管理员。)

时间:2012-06-13 07:33:16

标签: azure-storage azure-storage-blobs

0

大家好,

我遇到了一个奇怪的问题。我正在使用以下代码从Azure blob存储中下载文件:

CloudBlobContainer container = AzureAccountManagement.currentBlobClient.GetContainerReference(containerName);
        CloudBlob blob = container.GetBlobReference(blobName);

        BlobRequestOptions options = new BlobRequestOptions();
        options.Timeout = new TimeSpan(0, TiMEOUT, 0);

        try
        {
            blob.DownloadToFile(localPath, blob.Name), options);
        }

在上面的AzureAccountManagement中,我已经配置了正确的连接字符串。

使用上面的代码,当我下载扩展名为.mdb的文件时,我会得到如下例外:


发现了Microsoft.WindowsAzure.StorageClient.StorageServerException

消息=代理错误(HTTP筛选器拒绝了该请求。请联系Forefront TMG管理员。)

InnerException:

“远程服务器返回错误:(502)Bad Gateway。”


其他尝试:

  1. 当我尝试下载其他文件(.xml / html / txt)时,代码会成功下载它们。

  2. 我使用Azure存储资源管理器下载它们,.mdb文件 - 失败并出现同样的错误;其他文件类型,成功。

  3. 我在其他机器上测试过,实际上与我的机器配置相同,它成功下载.mdb文件和其他文件类型。

  4. 所以我认为我的机器有一些HTTP过滤器或安全问题,但我不知道如何解决它。你们遇到过类似的问题吗?如果是,我希望得到你的解决方案。

    我的工作机器是Windows 7/64位/ VS 2010 SP1 / Azure SDK 1.6。如果信息有用。

1 个答案:

答案 0 :(得分:2)

看来你在防火墙内。

此错误

  

HTTP过滤器拒绝了该请求。联系您的Forefront TMG管理员。 )

     

的InnerException:

     

“远程服务器返回错误:(502)Bad Gateway。”

实际上是从您的防火墙提供的 - 在本例中是TMG 这意味着请求被阻止离开防火墙,因此永远不会进入blob存储端点。

与您的网络管理员聊天,看看他们是否可以通过防火墙跟踪流量。他们可能不得不翻转开关以允许此流量通过。