Win2008 R2 RemoteApp深度体验之五,远程桌面Web访问

简介:
远程桌面 Web 访问
         我们在之前的文章中实现了RemoteApp服务器的部署,配置及测试。RemoteApp服务器使用的协议是大家非常熟悉的RDP协议,RDP协议使用的是3389端口。一般情况下在内网使用3389端口是没问题的,但有些企业的防火墙对3389端口会限制使用,甚至有些电信部门也会限制3389端口的连接。如果遇到限制3389端口的环境,我们可以考虑把RDP协议封装在HTTPS协议中。这样我们在互联网上使用RemoteApp会更加方便,不用担心遭到封杀;而且我们可以使用浏览器作为客户端工具,这样对特定环境的要求就降低了很多,毕竟在当前的互联网环境下浏览器是一个非常容易获取的通用工具。
         想让客户机通过浏览器访问RemoteApp服务器,我们可以通过远程桌面Web访问组件来实现。远程桌面Web访问组件其实是IIS7中的一个虚拟目录,用户通过访问这个虚拟目录就可以重定向到RemoteApp服务器。实验拓扑如下图所示,我们准备在TSERVER上部署远程桌面Web访问组件,实验步骤如下。
  部署远程桌面Web访问组件
         我们首先在TSERVER上部署远程桌面Web访问组件。在TSERVER上打开服务器管理器,如图1所示,点击左侧的“角色”,在右侧操作栏中可以看到远程桌面的角色服务。从图中可以看到,远程桌面Web访问尚未安装,点击“添加角色服务”,准备添加远程桌面Web服务。
1
 
如图2所示,在角色服务中勾选“远程桌面Web访问”,角色向导提示我们这个角色服务需要IIS组件的支持,点击“添加所需的角色服务”,这样在安装远程桌面Web访问时就可以自动安装所需的IIS组件。
2
 
         如图3所示,向导列出了所需的IIS组件,这些组件不需要调整,直接点击“下一步”继续。
3
 
         如图4所示,确认要进行的组件安装正确无误,点击“安装”开始正式的组件安装。
4
 
         远程桌面Web访问安装的过程非常简单,如图5所示,点击“关闭”按钮就可以结束组件安装了。
5
 
  部署CA
         客户机通过HTTPS协议访问RemoteApp服务器时,需要RemoteApp服务器上有证书支持。证书可以从商业CA申请,也可以在企业内部创建自己的CA。一般考虑到经济因素及使用便利,我们最好选择在企业内部创建自己的CA服务器。由于我们的实验环境中有Active Directory,我们决定在域控制器上部署一个企业根CA
         DCSERVER的控制面板中打开添加或删除组件,如图6所示,在添加/删除Windows组件中勾选“证书服务”。
6
 
         如图7所示,在企业类型中选择“企业根CA”,企业根CA可以很好地和Active Directory结合,使用起来比独立根CA更方便。
7
 
         如图8所示,我们输入CA的公用名称,其他参数选择默认值即可。
8
 
         如图9所示,接下来需要设置证书数据库及数据库日志的存储路径,测试环境下使用默认值即可。
9
 
         企业根CA部署完成后,会自动通过组策略告知域内的计算机,以便让域内的计算机把企业根CA加入到受信任的证书颁发机构中。如果希望组策略尽快生效,可以在域内的计算机上运行 gpupdate/force。组策略生效后,我们可以用MMC控制台打开证书管理单元,看看企业根CA是否被信任。如图10所示,我们可以看到在XP客户机上,新创建的ContosoCA已经被加入到受信任的根证书颁发机构中了。
10
 
         如果CA服务器使用的是Windows Server 2003操作系统,那么CA服务器需要安装一个如图11所示的补丁。如果不安装这个补丁,VistaWin7等客户机操作系统通过浏览器申请证书时会失败,屏幕上会提示正在下载Active X控件,但永远都无法完成。补丁的下载地址是http://support.microsoft.com/kb/922706/zh-cn
11
 
  申请证书
         创建完企业根CA后,我们就可以在RemoteApp服务器上申请一个Web服务器证书了。在TSERVER上打开IIS管理器,如图12所示,在右侧操作栏中选择“创建证书申请”。其实我们现在从图1中可以看到,当前的IIS7中已经有了一个服务器证书tserver.contoso.com,只不过这个证书是TSERVER服务器自己为自己颁发的,并不被域内其他的计算机所信任。
12
 
         如图13所示,我们需要填写申请证书的各项参数,其中特别要注意的是通用名称,这个名称应该和客户机访问Web服务器时所习惯使用的计算机名相同,这个参数的重要性可以用我们身份证上的姓名来加以比喻。
13
 
         如图14所示,接下来要选择加密服务提供程序和密码位长,这些参数使用默认值即可。
14
 
         如图15所示,我们把申请证书的各项参数写入到一个文件certsrv.txt中,这个文件的内容就是用Base64编码保存的证书申请参数,接下来我们还要使用这个文件。
15
 
         TSERVER上打开浏览器,访问https://dcserver/certsrv,如图16所示,选择“申请证书”。
16
 
         如图17所示,选择“提交一个高级证书申请”。
17
 
         如图18所示,选择使用Base64编码提交一个证书申请。
18
 
         如图19所示,打开certsrv.txt文件,把文件内容都复制到证书申请的Base64编码文本框中,证书模板选择“Web服务器”,点击“提交”按钮进行证书申请。
19
 
         如图20所示,证书申请成功,点击“下载证书”,准备把证书保存为文件。
20
 
         如图21所示,我们把证书保存为C:\CERTNEW.CER
21
 
         再次回到IIS7管理器中,如图22所示,选择右侧操作栏中的“完成证书申请”。
22
 
         如图23所示,我们提供c:\certnew.cer作为证书颁发机构响应的文件名,证书的好记名称取名为“tserver.contoso.com”,点击“确定”就可以把ContosoCA颁发的证书导入到IIS中。
23
 
         IIS7中导入证书后,如图24所示,我们在IIS7管理器中点击左侧的“Default Web Site”,选择右侧操作栏中的“绑定”。
24
 
         如图25所示,在网站绑定中选择对HTTPS进行编辑,选择让HTTPS协议使用刚刚导入的TSERVER.CONTOSO.COM证书。至此,我们在TSERVER上申请了一个Web服务器证书,并把这个证书用在了网站上。
25
 
  远程桌面Web访问测试
         完成了前期的准备工作后,我们在XP客户机上进行最后的测试。在XP客户机的浏览器中输入https://tserver.contoso.com/rdweb,如图26所示,我们在浏览器中看到了远程桌面服务页面。输入域管理员的身份凭证进行登录。
26
 
         如图27所示,我们看到了RemoteApp服务器上所发布的RemoteApp程序,我们点击Word2007进行测试。
27
 
         如图28所示,启动Word2007后我们需要选择把本机的哪些资源共享给远程计算机,可供选择的资源有驱动器,剪切板,打印机等。
28
 
         如图29所示,Word2007在远程服务器上开始运行,这次我们是通过浏览器触发了RemoteApp程序,远程桌面Web访问测试成功!
29
 
         我们也可以通过浏览器测试一下对远程服务器的桌面访问,如图30所示,在远程桌面服务页面中切换到“远程桌面”标签,填写连接到tserver.contoso.com,远程桌面大小设置为全屏,点击“连接”。
30
 
         如图31所示,连接到远程服务器时,也要选择是否共享本机的“剪切板”或“打印机”资源。
31
 
         如图32所示,我们通过浏览器访问到了远程服务器,输入域管理员账号进行测试。
32
 
         如图33所示,我们在XP上获得了一个远程服务器桌面,我们可以在这个服务器桌面上运行远程服务器上发布出的程序。至此,远程桌面Web访问测试成功,我们在客户机上可以通过浏览器访问到远程服务器上的RemoteApp程序以及服务器桌面!
33















本文转自yuelei51CTO博客,原文链接:http://blog.51cto.com/yuelei/306291,如需转载请自行联系原作者



 
相关文章
|
1月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
4月前
|
Java 数据库连接 数据库
强强联手!JSF 与 Hibernate 打造高效数据访问层,让你的应用如虎添翼,性能飙升!
【8月更文挑战第31天】本文通过具体示例详细介绍了如何在 JavaServer Faces (JSF) 应用程序中集成 Hibernate,实现数据访问层的最佳实践。首先,创建一个 JSF 项目并在 Eclipse 中配置支持 JSF 的服务器版本。接着,添加 JSF 和 Hibernate 依赖,并配置数据库连接池和 Hibernate 配置文件。然后,定义实体类 `User` 和 DAO 类 `UserDAO` 处理数据库操作。
67 0
|
4月前
|
API UED 开发者
Vaadin路由魔法:导航之舟,带你穿越页面迷宫!驾驭神奇URL,解锁无限可能!
【8月更文挑战第31天】Vaadin是一款现代Java Web开发框架,其路由机制结合前后端路由,确保流畅的用户体验和高效服务器资源利用。通过`@Route`注解和`Router`类,开发者可以轻松定义和管理页面路径。例如,`@Route("home")`可指定视图路径,而参数化路由如`@Route("user/:userId")`则允许URL传参。此外,Vaadin还提供了丰富的导航API和自定义路由事件监听器,助力开发者构建结构清晰且体验优秀的Web应用。
65 0
|
4月前
|
前端开发 API 数据处理
构建高效现代Web应用:深入探讨Entity Framework Core与GraphQL在数据访问中的结合使用
【8月更文挑战第31天】随着Web应用的发展,传统的RESTful API逐渐显现出局限性,现代应用开始转向GraphQL。与此同时,Entity Framework Core(EF Core)作为强大的ORM工具,在数据访问方面表现出色,支持异步操作和自动变更跟踪,简化了数据处理。GraphQL作为一种灵活的查询语言,允许客户端精确获取所需数据,减少不必要的传输。将EF Core与GraphQL结合使用,可实现高效的数据访问和灵活的数据查询,优化数据流并提升应用性能。这种技术组合不仅提高了开发效率,还优化了用户体验,有望成为未来Web开发的重要方向。
37 0
|
7月前
|
安全 网络安全 数据安全/隐私保护
远程桌面连接出现了内部错误怎么解决?
远程桌面连接出现了内部错误怎么解决?
|
2月前
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
4月前
|
安全 文件存储 iOS开发
告别痕迹:远程桌面连接历史和凭据的清零指南
【8月更文挑战第18天】使用远程桌面后,为保障安全隐私,需清除连接历史及凭据。在Windows中,可通过注册表编辑器删除HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default下的MRU键值来清除历史记录;macOS下则需移步至“~/Library/Application Support/Apple/Remote Desktop”删除“Clients.plist”。清除凭据方面,Windows用户应访问“控制面板”中的“凭据管理器”删除相应条目;macOS用户需利用“钥匙串访问”应用找出并移除相关条目。
1171 3
|
5月前
|
网络安全 数据安全/隐私保护 Windows
Windows自带的远程桌面连接教程
Windows自带的远程桌面连接教程
548 0
|
6月前
|
Linux 网络安全 数据安全/隐私保护
【最新教程】树莓派安装系统及VNC远程桌面连接
【最新教程】树莓派安装系统及VNC远程桌面连接
|
6月前
|
数据可视化 网络协议 Linux
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
Linux 怎样通过win 远程桌面连接链接Linux后台服务器的可视化图形界面
87 0