更新时间:2024-04-15 GMT+08:00

远程连接Windows云服务器报错:0x1104

问题描述

使用MSTSC方式登录Windows Server 2008操作系统的云服务器,系统报错:检测到一个协议错误(代码 0x1104)。

图1 协议错误(代码 0x1104)

可能原因

  • 服务端安全组3389端口未开启。
  • 服务端防火墙关闭。
  • 服务端3389端口被其他进程占用。
  • 远程桌面会话主机配置不正确。

处理方法

  1. 检查安全组设置。

    检查3389端口入方向是否开启,若已开启,执行2

  2. 检查防火墙是否关闭。

    1. 登录Windows云服务器
    2. 单击桌面左下角的Windows图标,选择“控制面板 > Windows防火墙”。

    3. 单击“启用或关闭Windows防火墙”。

      查看并设置防火墙的具体状态:开启或关闭。

    如果正常,请执行3

  3. 使用VNC方式登录云服务器,查看端口信息。

    1. 进入cmd命令窗,并执行以下命令。

      netstat -ano |findstr :3389

      图2 检查3389端口

      图2所示,3389端口被占用,进程PID为4。

    2. 打开任务管理器,查看PID为4的进程为System系统进程。
    3. 通常IIS服务和SQL Server会以System进程运行,执行以下HTTP命令进一步查看。

      netsh http show servicestate

      图3 查看系统进程
    4. 如果可以看到3389端口被HTTP协议使用,可以确定是被IIS服务占用。
    5. 在浏览器输入“http://127.0.0.1:3389”进行验证,网站打开正常。
    6. 修改IIS使用其他端口,重启IIS服务。

  4. 如果以上检查均没有问题,请执行5,检查是否由于远程桌面会话主机配置导致。
  5. 检查远程桌面会话主机配置。

    1. 通过VNC登录云服务器
    2. 打开cmd运行窗口,并输入“gpedit.msc”。
    3. 单击“确定”,打开“本地组策略编辑器”。
    4. 选择“计算机配置 > 管理模板 > Windows组件”,查找并双击“远程桌面服务”。
      图4 远程桌面服务
    5. 选择“远程桌面会话主机 > 安全 > 远程(RDP)连接要求使用指定的安全层”。
      图5 远程(RDP)连接要求使用指定的安全层
    6. 选择“已启用”,并将“安全层”设置为“RDP”。
      图6 设置安全层
    7. 单击“确定”。
    8. 配置完成后,打开“cmd”命令窗。
    9. 执行以下命令,刷新组策略。

      gpupdate

      图7 刷新组策略