打开自定义入站防火墙端口,例如8077 以任何方式在 azure 中使用 java

Open custom inbound firewall ports e.g. 8077 by any way using java in azure

我正在使用 Java 在 Azure(Microsoft) 中启动一个 windows 实例,并尝试为我的工作打开一些入站端口,例如 445、8077。 我也尝试过使用安全组端口打开,但它只在安全组级别打开入站端口,而不是在系统级别。 为我提供一些解决方案,以便我可以在启动前或启动后打开也可以。我在 AWS 中做了同样的事情,如下面所问 URL:

不,我们不允许在 PaaS 上打开自定义端口。您必须迁移到 Azure VM 才能打开自定义端口。

如果我的理解是正确的,你在 Azure 中使用 Windows 虚拟机(Iaas 服务)。与 AWS 实例相同,您可以使用 Power Shell 在 Windows 防火墙上打开端口 8077。

netsh advfirewall firewall add rule name="Open Port 8077" dir=in action=allow protocol=TCP localport=8077

在 Azure VM 上,您还需要在 Azure NSG 上打开端口。

更新:

如果您想使用 Azure java SDK 来执行此操作,您可以使用此 example

我修改示例以添加自定义脚本扩展,如下所示:

        windowsVM.update()
            .defineNewExtension("shuitest")
            .withPublisher("Microsoft.Compute")
            .withType("CustomScriptExtension")
            .withVersion("1.9")
            .withMinorVersionAutoUpgrade()
            .withPublicSetting("commandToExecute", "netsh advfirewall firewall add rule name=\"Open Port 8077\" dir=in action=allow protocol=TCP localport=8077")
            .attach()
        .apply();

你可以在 Github 上查看我的 code