我已经按照本教程创建了第一个Azure应用程序
http://msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_IntroToWindowsAzureLabVS2010

因为部署后它无法在以下网址上工作
http://24fb8b6a055d4ab2a556218f62d6dbe1.cloudapp.net/

我发现以下链接有助于通过远程桌面进行连接以查看错误:
http://wely-lau.net/tag/remote-desktop/

但是,执行所有步骤后,出现以下错误


  远程桌面无法连接到其中之一
  原因:
  
  1)未启用对服务器的远程访问
  2)远程计算机已关闭
  3)远程计算机在网络上不可用
  
  确保远程计算机已打开并连接到
  网络,并且启用了远程访问。


在:
ServiceConfiguration.Cloud.cscfg

我有这个内容

<?xml version="1.0"?>
<ServiceConfiguration serviceName="GuestBook" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="GuestBook_WebRole">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=luisvalenciaguestbook;AccountKey=x" />
      <Setting name="DataConnectionString" value="DefaultEndpointsProtocol=https;AccountName=luisvalenciaguestbook;AccountKey=x" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="levalencia" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="x" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2012-12-16T23:59:59.0000000+01:00" />
    </ConfigurationSettings>
    <Certificates>
      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="x" thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
  <Role name="GuestBook_WorkerRole">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=luisvalenciaguestbook;AccountKey=x" />
      <Setting name="DataConnectionString" value="DefaultEndpointsProtocol=https;AccountName=luisvalenciaguestbook;AccountKey=x" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="levalencia" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="x" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2012-12-16T23:59:59.0000000+01:00" />
      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
    </ConfigurationSettings>
    <Certificates>
      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="x" thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
</ServiceConfiguration>

最佳答案

默认情况下,适用于Azure的远程桌面使用通常的TCP端口3389:您需要在公司防火墙上启用此功能。

通过配置文件直接或通过Visual Studio设置远程桌面的另一种方法是使用Azure管理门户临时修改它们。这是相当容易的,并且容易出错,特别是在涉及证书的地方。

照常登录到管理门户,然后选择“托管服务”。然后找到您要配置的服务。

下一步是将Web角色或辅助角色配置为允许远程桌面连接:这将调整服务的配置文件,因此在您下次升级或重新映像时,此处的任何更改都将丢失。选择角色,然后在工具栏中确保选中“启用”,然后选择“配置”:



系统将提示您输入用户名,密码,证书和到期时间。

选择确定。如果您对配置进行了更改,则可能需要一些时间(有时是几分钟)才能应用它们。

将实例再次标记为“就绪”后,您可以选择一个实例并选择“连接”:



这将下载扩展名为.rdp的文件,您可以打开该文件以连接到远程主机。 (这样做时,您很可能会看到一些安全警告。)



如果您仍然看到有关无法连接到远程主机的警告,则有几件事情可以探索:证书和防火墙问题。以我的经验,通过门户在Azure中配置远程桌面设置的“手动”过程通常会解决证书的任何问题。

防火墙问题很难解决。您可能会发现,使用Windows Azure Connect(本质上可以创建从PC到Azure实例的安全VPN连接)可以使您直接访问Azure主机,从而跨公司防火墙进行访问。

关于c# - 远程桌面“无法连接到远程计算机”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8534182/

10-16 21:10