本文出自 “叶俊生” 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814

Microsoft Exchange Server 2007 的 Outlook Anywhere 功能,Microsoft Office Outlook 2007 和 Outlook 2003 客户端可以使用 RPC over HTTP Windows 网络组件,通过 Internet 连接到各自的 Exchange 服务器。

  使用 Outlook Anywhere 以允许 Outlook 2003 和 Outlook 2007 客户端访问 Exchange 邮件基础结构可带来一些益处。这些益处如下所列:
  ● 通过 Internet 远程访问 Exchange 服务器。
  ● 可以使用 Microsoft Exchange ActiveSync 和 Outlook Web Access 所用的相同的 URL 和命名空间。
  ● 可以使用 Outlook Web Access 和 Exchange ActiveSync 所用的相同的安全套接字层 (SSL) 服务器证书。
  ● 未通过身份验证的 Outlook 请求无法访问 Exchange 服务器。
  ● 客户端必须信任发布证书的证书颁发机构。
  ● 无需使用虚拟专用网络 (***) 即可通过 Internet 访问 Exchange 服务器。
  ● 必须只允许 443 端口通过防火墙,因为 Outlook 请求要使用 HTTP over SSL。
  若要启用 Outlook Anywhere,必须按顺序执行下列步骤:
  1. 安装从 Outlook 客户端信任的证书颁发机构 (CA) 获得的有效安全套接字层 (SSL) 证书。
  2. 安装 Windows RPC over HTTP 代理组件。
  3. 使用启用 Outlook Anywhere 向导在 Exchange 2007 客户端访问服务器上启用 Outlook Anywhere。
  安装 Exchange 2007 时,可以安装由 Exchange 安装程序创建的默认 SSL 证书。但是,此证书不是受信任的 SSL 证书,不能用于 Outlook Anywhere。我们可以通过申请第三方证书或者在组织中部署企业CA(Certification Authority)服务器,然后通过企业CA来颁发证书。
  在这里我们只介绍如何通过企业CA来申请证书。
首先我们需要在组织当中安装一台CA(Certification Authority)服务器,您可以在域控制器上安装CA,有关如何安装CA的过程,我们在此不做介绍。在安装好CA服务器的情况下,我们可以通过Web Server的证书申请向导来为IIS服务申请一张企业证书。
  一、 如何通过Web Server证书申请向导申请SSL证书
  1. 在Exchange 2007客户端访问服务器上,打开IIS管理工具,定位到缺省网站,右键选中它,选择属性,如图1所示,
20033109
图1
2. 选择目录安全, 点击服务器证书,如图2所示,
20033110
图2
3. 在欢迎向导中点击下一步,选择创建一个新证书,如图3所示,
20033111
图3
4. 点击下一步,选中立即发送请求到在线的CA服务器,如图4所示,
20033112
图4
5. 点击下一步,输入证书的名称和加密强度,如图5所示,点击下一步,
20033113
图5
6. 输入组织名称和组织单元名称,如图6所示,点击下一步,
20033114
图6
7. 输入您要指定的通用名称,如果您需要从Internet访问该服务器,请使用有效的DNS名称,如图7所示,点击下一步,
20033115
图7
8. 输入国家和省份以及城市的名称,如图8所示,点击下一步,
20033116
图8
9. 指定SSL使用的端口,我们保留为缺省的值,如图9所示,点击下一步,
20033117
图9
10. 选择CA服务器的名称,如图10所示,点击下一步,
20033118
图10
11. 这时会出现您要申请的证书的摘要界面,如图11所示,点击下一步,
20033119
图11
12. 系统会提示您证书已经申请成功,如图12所示。
20033120
图12
在证书申请成功后,我们可以通过下面的方法来查看:
1、通过IIS管理器,打开IIS管理工具,定位到缺省网站,右键选中它,选择属性,选择目录安全,点击查看证书,如图13所示,
20033121
图13
2、点击常规,我们可以查看证书颁发给哪台计算机以及证书的有效期,如图14所示,
20033122
图14
3、点击详细信息,我们还可以查看该证书的指纹,如图15所示。
20033123
图15
此外,我们还可以通过下面的命令行来查看证书的相关信息,如图16所示,
20033124
图16
Get-ExchangeCertificate -Thumbprint 07e9a371b1324bae6aa83ccce9cc93d12033fbe8 | fl *
二、 安装 RPC over HTTP Windows 网络组件:
1. 单击"开始",指向"设置",再单击"控制面板",然后双击"添加或删除程序"。
2. 单击"添加/删除 Windows 组件"。
3. 在"Windows 组件"页的"组件"窗口中,选择"网络服务",再单击"详细信息"按钮。
4. 在"网络服务"页的"网络服务的子组件"窗口中,选中HTTP代理上的RPC旁边的复选框,再单击"确定",如图17所示,
20033125
图17
5. 在"Windows 组件"页上,单击"下一步"。
6. 单击"完成"关闭"Windows 组件"向导。
三、 使用 Exchange 管理控制台或者命令行来启用 Outlook Anywhere:
1. 在控制台树中,展开"服务器配置",再单击"客户端访问"。
2. 右键选中客户端访问服务器,单击"启用 Outlook Anywhere",如图18所示,
20033126
图18
3. 在启用 Outlook Anywhere 向导中,在"外部主机名"下面的框中,键入组织的外部主机名称,在外部身份验证方法中选择基本身份验证,如图19所示,
20033127
图19
注意:必须保证组织的外部名称在证书的certificate domain中,我们可以通过下面的命令来查看证书的certificatedomains,如图20所示。
20033128
图20
Get-ExchangeCertificate -Thumbprint 07e9a371b1324bae6aa83ccce9cc93d12033fbe8 | fl certificatedomains
注意: 除非确保您有可以处理 SSL 减负的 SSL 加速器,否则不要使用此选项。如果没有可以处理 SSL 减负的 SSL 加速器并选择了此选项,则 Outlook Anywhere 将无法正常工作。
4. 单击"启用"将应用这些设置并启用 Outlook Anywhere。
5. 单击"完成"将关闭启用 Outlook Anywhere 向导。
我们可以通过下面的命令行来启用 Outlook Anywhere:
enable-OutlookAnywhere -Server 'Exchange2007' -ExternalHostname 'Exchange2007.yejunsheng.com' -ExternalAuthenticationMethod 'Basic' -SSLOffloading $false
注意:请将Server 'Exchange2007'中的Exchange2007替换为实际的Exchange 2007服务器名称,将-ExternalHostname 'Exchange2007'中的Exchange2007替换为组织的外部主机名。
四、 如何验证outlook anywhere是否工作正常。
1、 打开Outlook 2007,点击工具,选择电子帐户,选择查看或更改现有电子帐户,点击下一步,选中该帐户,点击更改,点击其他设置,点击连接,
2、 选中“使用HTTP连接到Microsoft Exchange”选项,然后点击Exchange代理服务器设置,如图21所示,
20033129
图21
3、在URL中输入Outlook Anywhere属性中的外部主机名称,并选择基本身份验证方式,如图22所示,
20033130
图22
4、点击确定后,需要重启Outlook 2007才能让该设置生效。
5、重启Outlook 2007,然后按住Ctrl键,右键点击右下方任务栏上的Outlook图标,选择连接状态,确认连接已经变成HTTPS,如图23所示。
20033131
图23
我们还可以通过RPC Ping工具来检查outlook anywhere是否生效,该工具包含在Windows Server 2003 Resource Kit Tools中。
1. 首先在客户端计算机上安装该工具,该工具可以从下面的链接处下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
2. 进入命令行模式,切换到该工具所在的目录,然后运行下面的命令:
rpcping -t ncacn_http -s Exchange2007.yejunsheng.com -o RpcProxy=Exchange2007.yejunsheng.com -P "rock,exchange,*" -I "rock,exchange,*" -H 2 -u 10 -a connect -F 3 -v 3 -E -R none
注意:请将-s Exchange2007.yejunsheng.com中的Exchange2007.yejunsheng.com替换为exchange 2007邮箱服务器的名称,将RpcProxy=Exchange2007.yejunsheng.com中的Exchange2007.yejunsheng.com替换为outlook anywhere的外部主机名称,-P 后面的rock,exchange替换为向 RPC 代理服务器进行身份验证时使用的用户帐户和域名,-I后面的rock,exchange替换为向Exchange 服务器进行身份验证时使用的用户帐户和域名。
3. 系统会提示您输入Exchange 服务器的密码和RPC代理服务器的密码,
4. 如果 RPC Ping 实用工具测试成功,您将收到如图24所示的响应。
20033132
图24
有关如何RPC Ping工具的参数的详细信息,您可以参考下面的链接:
如何使用 RPC Ping 实用工具解决 Outlook 2007 中 Exchange Over the Internet 功能的连接问题