我应该使用非标准的 Windows Azure 端口映射吗?

我应该使用非标准的 Windows Azure 端口映射吗?

昨晚配置 Windows Azure VM 时,我必须在 Azure 管理门户中编辑映射。这是一个打开公共端口并将其映射到私有端口的过程。这非常简单,但我注意到 Azure 默认将私有 RDP 3389 映射到某个随机的高端口号,例如 51460。

我需要打开 http,因此映射私有 80 >> 公共 80。将随机公共端口号映射到私有端口 80 是否能带来一些好处?在我看来,这只会阻止所有流量,因为无论如何 http 都会在 80 上被请求。

那么他们为什么这么做呢?

这是否仅仅是因为 RDP 是一个高价值目标,因此只能从私人管理请求中合法调用?

答案1

因此……对于像 Web 服务器这样的东西,您通常会拥有多个 VM(用于扩展),并且您通常希望负载平衡器能够完成其工作并将流量分散到所有 VM 上。在这种情况下,您将使用负载平衡的端点并将端口 80(外部)映射到端口 80(内部)——选择某个随机输入端口是没有意义的。当然,如果您有一个非标准网站(例如管理站点),也许您会将其放在其他地方(例如端口 8000)。此时,您可以决定将其映射到端口 80 或将其保留在端口 8000。

有趣的事情从这里开始:类似 RDP 的东西。如果您只使用端口 3389,并且您有多个 VM,所有 VM 都将外部 3389 映射到内部 3389,您将如何选择要通过 RDP 连接到哪个 VM?答案是:您不会- 您将拥有一个负载平衡的端点,并且您将有运气,并且只能猜测您连接到哪个虚拟机。

因此,您使用端口转发端点,每个虚拟机一个端点,每个端点都有自己的专用端口。从外部世界来看,您现在有一组端口:可能是 55000、56000 等。然后,每个端口都会映射到其各自虚拟机上的内部端口 3389。然后……瞧 - 您可以直接通过 RDP 访问每个虚拟机。

此端口映射也适用于 ssh(使用 Linux 时)或任何其他在多个 VM 上独立运行服务的场景,出于某种原因您需要直接访问特定的 VM。

相关内容