问题描述
使用MSTSC方式登录Windows Server 2008操作系统的云主机,系统报错:检测到一个协议错误(代码 0x1104)。
图 协议错误(代码 0x1104)
可能原因
-
服务端安全组3389端口未开启。
-
服务端防火墙关闭。
-
服务端3389端口被其他进程占用。
-
远程桌面会话主机配置不正确。
处理方法
步骤 1 检查安全组设置。
检查3389端口入方向是否开启,若已开启,执行步骤2。
步骤 2 检查防火墙是否关闭。
1.登录Windows云主机。
2.单击桌面左下角的Windows图标,选择“控制面板 > Windows防火墙”。
3.单击“启用或关闭Windows防火墙”。
查看并设置防火墙的具体状态:开启或关闭。
如果正常,请执行步骤3。
步骤 3 使用VNC方式登录云主机,查看端口信息。
1.进入cmd命令窗,并执行以下命令。
netstat -ano |findstr :3389
图 检查3389端口
如上图所示,3389端口被占用,进程PID为4。
2.打开任务管理器,查看PID为4的进程为System系统进程。
3.通常IIS服务和SQL Server会以System进程运行,执行以下HTTP命令进一步查看。
netsh http show servicestate
图 查看系统进程
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组件”,查找并双击“远程桌面服务”。
图 远程桌面服务
5.选择“远程桌面会话主机 > 安全 > 远程(RDP)连接要求使用指定的安全层”。
图 远程(RDP)连接要求使用指定的安全层
6.选择“已启用”,并将“安全层”设置为“RDP”。
图 设置安全层
7.单击“确定”。
8.配置完成后,打开“cmd”命令窗。
9.执行以下命令,刷新组策略。
gpupdate
图 刷新组策略