【问题标题】:Get Azure public IP address from deployed app从已部署的应用程序获取 Azure 公共 IP 地址
【发布时间】:2011-07-16 19:01:50
【问题描述】:

我在FTP 服务器中实现PASV 模式,并向客户端发送数据端点的IP 地址和端口。这很愚蠢,因为 IP 实际上是客户端已经连接的地方,所以有两种选择:

  1. 我怎样才能得到公众IP 给定实例的地址?不是 VIP,但是是公开的。

  2. 我怎样才能得到原来的目标 IP 用户使用的地址来自 Socket 对象?考虑中间的路由器和负载均衡器:P

回答这些问题中的任何一个都可以,尽管还有另一种可行的方法...我可以让公共IP 地址在DNS 上查找myapp.cloudapp.net 吗?

第四个选项是使用 Azure 管理 API 库...但是,太麻烦了:P。

干杯。

【问题讨论】:

    标签: sockets azure dns ip azure-worker-roles


    【解决方案1】:

    我现在正在考虑的破解方法是检索http://www.icanhazip.com/。它并不优雅,并且取决于该服务的可用性,但它可以完成工作。更好的解决方案将不胜感激!

    【讨论】:

      【解决方案2】:

      不确定您是否曾经想过这一点,但这是我的看法。各个角色实例都位于 Windows Azure 负载平衡器之后,并且不知道原始的向外 IP 地址是什么。此外,没有返回 IP 地址的管理 API 调用 - 获取部署返回 URL 但不返回 IP 地址。我认为唯一的选择是 dns 查找。

      话虽如此:我认为您不能在您的角色实例中托管被动 ftp 服务器(至少不能优雅地)。您最多可以为您的角色打开 25 个输入端点(从 5 个开始 - 请参阅我最近的 blog post 关于此更新),但配置中涉及手动工作。我不知道您的 ftp 应用程序是否允许您将端口范围限制为这么少的端口。另外:

      • 您必须将每个端口定义为自己的输入端点(这是我提到的手工劳动部分) - 与内部端点不同,输入端点不允许指定端口范围。
      • 您必须指定内部使用的端口号,并且端口号必须是连续的

      关于 ftp 的最后一件事:您应该能够毫无问题地托管 sftp 服务器,因为所有流量都来自一个端口。

      【讨论】:

      • 嗨。嗯,基本上......我将使用外部服务器返回公共 IP 地址,这就是 Filezilla 服务器所做的。而且我的被动 FTP 服务器的第一个版本正在工作,呵呵。唯一的问题是,它只支持来自同一个 IP 地址的 4 个并发连接,但我认为应该没问题!干杯。
      猜你喜欢
      • 2014-12-16
      • 2011-03-16
      • 2014-08-08
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 2017-09-23
      • 2018-10-22
      • 1970-01-01
      相关资源
      最近更新 更多