【问题标题】:Azure - can't access VM from public ipAzure - 无法从公共 IP 访问 VM
【发布时间】:2018-04-18 22:22:53
【问题描述】:

我创建了一个基本的 Linux VM 机器;我可以使用 SSH 正确连接。我已经在网络规则上添加了 http 端口 80 和 https 端口 443,但仍然无法使用其公共 ip 从浏览器访问机器。机器正在运行 nginx。

我尝试过分离和关联一个新的 ip,但没有运气,删除和重新添加规则没有运气。

然后我创建了一个新 VM,但我没有使用 Basic VM,而是添加了一个 Standard VM,唯一的区别是我没有启用 hi-avail 选项。我通过ssh连接,添加了nginx,在网络安全组(http:80)中添加了入站规则,可以通过浏览器正常访问了。

在意识到我们无法通过浏览器访问它之前,在第一个 VM 中已经完成了很多工作,因此从头开始完成所有工作并不容易。以下是我的问题:

a) 我做错了什么导致不允许从浏览器访问?这是我的网络安全组的截图:

b) 高可用性选项 (hi-avail) 会导致问题吗?如果VM停止工作,我害怕删除它。 bb) 我可以毫无问题地删除它吗?

c) 有没有办法将所有内容从基本 (hdd) VM 转移到标准 (ssd) VM?

编辑: 关于 c) 我想转移的原因是为了更换硬件,但似乎比我想象的要容易。我刚刚输入了 VM 的“大小”并更改了 CPU-RAM 并将 HDD 更改为 SSD,在停止的 VM 上,我输入了磁盘并更改为 Premium。就是这样。

提前感谢您抽出宝贵时间。 :/

【问题讨论】:

  • 您是否尝试过从 azure new 门户使用 reset ssh configure?
  • @mohitsharma 的评论:我也面临着同样的问题。你找到解决办法了吗?
  • @kvantour 从那时起已经有很长时间了,现在一切对我来说都是新的,但是请查看下面答案中隐藏在 cmets 中的讨论,它可能会对您有所帮助。

标签: linux azure networking nginx cloud


【解决方案1】:

根据你的描述,这个web服务监听8080端口,所以我们应该在NSG中添加入站规则,然后使用8080端口进行测试。

高可用性选项(hi-avail)会导致问题吗?我是 害怕在虚拟机停止工作时删除它。

据我所知,在 Azure 资源模块中,我们无法删除它。

有没有办法将所有内容从基本 (hdd) VM 转移到 标准 (ssd) 虚拟机?

如果您想将 VM 从基本调整为标准,我们应该将 VHD 复制到 SSD 存储帐户,然后使用此 VHD 创建标准 VM。 我们可以使用Azcopy 来做到这一点。

VHD 复制完成后,我们可以使用 PowerShell 或template 创建新的虚拟机。

【讨论】:

  • 问题不在于ssh,我可以正常ssh。问题是通过浏览器使用 public up 访问端口 80。
  • 对不起,你能用 80 端口远程登录这个公共 IP 吗?
  • 你能访问这个基本虚拟机的 80 端口吗?你能用netstat -ant 命令列出端口,然后给我看吗?
  • 80 端口上的 Telnet 给出了连接:失败。在端口 22 上,它应该正确连接。以下是 netstat 命令的结果:imgur.com/a/zwFNk
  • @scooterlord 监听 8080 端口,所以你应该在 NSG 中打开 8080 端口并使用 8080 端口访问它。或者将 nginx 默认端口更改为 80。
猜你喜欢
  • 2017-01-27
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多