我在 Azure(Windows Server 2012)上托管了一个公共 Web 服务器,我使用最佳实践选择加密。这似乎禁用了 TLS 1.0 的某些部分,而这些部分对于 RDP 访问至关重要(哎呀!)。我知道的唯一重新启用 TLS 的方法是更改注册表并重新启动。更改注册表通常是在 RDP 会话中完成的。
还有其他方法可以使它工作吗?例如,我们可以让 Azure VM 在启动时运行 powershell 脚本吗?
我仍然可以访问 FTP,并且 Web 服务器服务正常运行。我只是无法使用 RDP。
我完全知道这是我自己的错——也许我们需要一个名为管理员故障来满足像我这样的白痴。
答案1
微软建议从同一网络上的另一台机器手动编辑注册表,但由于这是其自己网络上的独立设备,因此这不是一个选择。
他们还建议将虚拟磁盘从此虚拟机中分离(我们将其称为 VM1 和 DiskA),并将其连接到另一个虚拟机(我们将其称为 VM2)。然后从 VM2 修改 DiskA 上的注册表,将 DiskA 从 VM2 中分离,并将其重新连接到 VM1。当然,可能会出错!
当我们成功时,我会尝试更新这个答案。
答案2
您可以在启动时运行自定义脚本扩展。扩展的详细信息位于此链接中:
答案3
你可以使用Azure Windows 自定义脚本扩展修改注册表值。
如果要在 Windows Server 2012 上启用 TLS 1.0,可以参考此关联
您可以编写 PowerShell 脚本来启用 TLS 1.0
Set-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server' -name Enabled -value 1
然后您可以使用 Azure 自定义扩展在 Azure 门户上执行此 cmdlet。<Your VM>-->Extensions-->Custom Script Extension