【问题标题】:Azure Storage returning "Unable to connect to server"Azure 存储返回“无法连接到服务器”
【发布时间】:2015-03-18 14:32:48
【问题描述】:

我在尝试使用 Azure 存储 API 获取容器引用时收到错误消息。

我可以从 Visual Studio 中的服务器资源管理器连接到我的 Azure 存储帐户。我还可以使用以下代码从我编写的测试 C# 客户端进行连接:

StorageCredentialsAccountAndKey credentials = new StorageCredentialsAccountAndKey("ACCOUNT", "XXXX")
CloudStorageAccount account = new CloudStorageAccount(credentials, true);
CloudBlobClient blobClient = account.CreateCloudBlobClient();

CloudBlobContainer container = blobClient.GetContainerReference(name);
container.CreateIfNotExist();

我创建了一个 ASP.NET MVC (Web API) 应用程序,并使用 IIS Express 托管它。我将与上面相同的代码放在 web 方法中,当我从客户端调用此方法时,它不起作用。它到达最后一行 CreateIfNotExist(),等待几分钟,然后抛出 System.Net.WebException 错误,提示“无法连接到远程服务器”......“无法建立连接,因为目标机器主动拒绝它168.63.33.206:443"。

我觉得很奇怪,我可以通过其他方法连接,但在使用本地 Web 应用程序时却不能。任何人都可以帮忙吗?我已经上网,但找不到任何有同样问题或解决方案的人。

非常感谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。我这里可能错了,但这里的实际问题似乎不是你的代码,而是一些配置错误。请浏览文档。
  • 不,不是代码,这就是问题所在。我只是想知道是否有人对问题可能是什么有任何建议 - 例如。网络防火墙(不太可能,因为它通过服务器资源管理器工作)代理(同样不太可能),一些我不知道的 Azure 配置,身份验证机制等。
  • 您是否使用 .NET 存储客户端库打开了客户端日志记录,这可能会为您提供有关正在发生的事情的更多详细信息msdn.microsoft.com/en-us/library/azure/dn782839.aspx
  • 您找到解决方案了吗?我也遇到了同样的问题。 :-(

标签: azure asp.net-web-api azure-storage


【解决方案1】:

我对 IIS Express 不太熟悉,但是根据我的发现...

“主动拒绝”表示当您尝试连接时主机发送了重置而不是确认。因此,这在您的代码中不是问题。防火墙阻止了连接,或者托管服务的进程没有在该端口上侦听,这可能是因为它根本没有运行,或者因为它正在侦听不同的端口。启动托管服务的进程后,请尝试 netstat -anb(需要管理员权限)以验证它是否正在运行并侦听预期的端口。

来自这个帖子:No connection could be made because the target machine actively refused it 127.0.0.1:3446

还有,

IIS Express 默认仅限于响应来自本地主机的请求。

来自这个博客:http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/03/22/how-to-expose-iis-express-to-external-network-connections-and-use-a-non-self-signed-certificate.aspx

SO 帖子或博客可能会帮助您解决问题。

【讨论】:

  • 嗨,Michael 感谢您的反馈,这似乎是某种网络/防火墙问题,因为我在家里尝试了相同的代码,而不是通过公司网络,它工作正常。我们的 IT 人员不会看它,所以我无法确定错误。我将继续前进。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多