Azure出站通信

我在Azure服务上的Ubuntu计算机上有出站通信问题。 我已经使用Ubuntu 14.04安装了服务器(也试过12.04),并且我没有任何麻烦进入机器或浏览到机器。 我遇到的麻烦是当我设置的应用程序尝试连接到MongoDB副本集无法抛出:

pymongo.errors.AutoReconnect: [Errno 110] Connection timed out 

和:

 bson.errors.InvalidDocument: BSON document too large (7754 bytes) - the connected server supports BSON document sizes up to 0 bytes 

运行mtr --report副本集的域名,也为谷歌或微软或stackoverflow或serverfault我总是得到以下返回:

 Start: Fri Jul 25 09:35:38 2014 HOST: hostname Loss% Snt Last Avg Best Wrst StDev 

如果我尝试ping域名,我得到以下内容:

 PING serverfault.com (198.252.206.16) 56(84) bytes of data. ^C --- serverfault.com ping statistics --- 106 packets transmitted, 0 received, 100% packet loss, time 105135ms 

我不知道该去哪里。 任何帮助是极大的赞赏。 这是一个标准的虚拟机设置,ssh和https端口打开,没有虚拟networking。 如果你需要其他的东西,让我知道,我会尽量提供。

除了虚拟networking外的TCP和UDP之外,Azure不支持其他任何function。 为此,您将无法使用ping(ICMP)出站function。 Traceroute也将无法工作(即使出站探测使用TCP SYN或UDP),因为它依赖于ICMP TTL过期的消息返回到主机。

所以,你尝试的ping和mtr并不意味着什么。 你可以尝试,而不是像“nc -vz http://www.serverfault.com 80”这将检查,看看你是否可以连接到一个Web端口。 你应该期望看到像这样的东西:

 $ nc -vz www.serverfault.com 80 Connection to www.serverfault.com 80 port [tcp/www] succeeded! 

至于你的应用程序和你的数据库之间的通信,你在这里包含的信息太less,不能正确地解决这个问题。

对于一些常规指针:如果在同一个Azure虚拟networking上有应用程序和数据库服务器,则可以使用虚拟networking中的内部IP地址与数据库交谈。 由于它们不在同一个虚拟networking上,因此需要在数据库服务器上设置一个端点并检查您的访问控制列表(注意安全要求)。 这个问题可能会有所帮助: https : //stackoverflow.com/questions/13995734/azure-vms-virtual-network-inter-communication 。