ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 14356|回复: 10
打印 上一主题 下一主题

[轉載]Exchange配置RPC OVER HTTP全过程(准確詳細)

[复制链接]
跳转到指定楼层
顶楼
发表于 2006-6-10 17:32:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
請版主不要怪我浪費本站資源!由於我在精華版及其它版塊讀過N篇關於RPC OVER HTTP的配置文章,也看過N篇MS的視頻教程,但總是不成功。可能我太笨了吧。但直到我發現以下這個文章,發現我看過的文章中都沒有提及到證書安裝及GC服務器上的注冊表修改,所以造成我一直不能成功。

另外個人測試發現,按本站文章http://www.5dmail.net/html/2006-2-10/200621094149.htm中的圖顯示為l連接為“TCP/IP”是不能使外網OUTLOOK正常連接的,必須為“HTTPS”才行。

以下為轉載內容:原文:http://www.51cto.com/art/200511/12284.htm

使用过EXCHANGE服务器的人都会知道,采用OUTLOOK客户端连接到Exchange服务器(MAPI方式),会有很多除邮件以外的功能,比如说日历,公共文件夹等,现在由于多数公司的结构都是总部和分支机构为不在同一个LAN内,这就导致了远程用户不能访问邮件服务器服务器,您也许会说,我可以把 EXCHANGE的POP3以及HTTP方式启用,远程用户用户就可以使用这两种方式进行信箱的登录了,但是,尽管如此,这基本上只能具有邮件邮件的功能,您又会说,我用HTTP的的OWA方式访问EXCHANGE服务器,基本上和本地本地LAN内的OUTLOOK有相同的功能,那我可以负责任的告诉你,你看到的仅仅是表象表象,OWA方式访问EXCHANGE,和使用OUTLOOK直接(MAPI)连接服务器仍然有很大的差别,这也就是为什么MS会提供RPC OVER HTTP方案的最根本原因。

目前,为了能够使远程用户采用OUTLOOK的MAPI方式直接连接到EXCHANGE上进行办公办公,现在的解决方案只有两个,第1个就是采用VPN的方式,这里不再介绍。

第二种就是MS在WINDOWS 2003以及EXCHANGE2003中提供的新功能RPC OVER HTTP。

我在写这个文章的时候,对于MS提供的RPC OVER HTTP部署实施的文档,已经研究了N次次,然而也没有一次成功过的,现在再回头看一下,还是觉得MS目前目前提供的RPC-HTTP参考文档并不完善,里面很多地方都漏掉了,这就导致了很多人按照MS的指导操作仍然无法顺利完成。

下面我就详细介绍我的实验以及实际生产环境。

我以实验环境为例子来介绍如何操作的(都是采用MS的virtual server 2005来建立的,这个软件非常棒,有兴趣的人可以用这个软件来建立自己的实验环境)。

我的实验环境是DC 1台,Exchange 3台,其中2台做了群集,做邮件系统的后端,另外1台EXCHANGE 做前端。

我们先介绍一下这个实验环境的网络参数

DC(Windows server 2003 enterprise edition)

Ip addr:172.16.0.1 FQDN:dc.test.com

包含以下服务:域控制器, dns server, wins server;

EXCH1(Windows server 2003 enterprise edition)

Ip addr:172.16.0.2 FQDN:exch1.test.com

包含以下服务:Exchange Server 2003 enterprise Edition,群集节点1,exchange群集名称mailsrv,exchange群集IP地址:172.16.0.4;

EXCH2(Windows server 2003 enterprise edition)

Ip addr:172.16.0.3 FQDN:exch2.test.com

包含以下服务:Exchange Server 2003 enterprise Edition,群集节点2,exchange群集名称mailsrv,exchange群集IP地址:172.16.0.4;

EXCH3(Windows server 2003 enterprise edition)

Ip addr:172.16.0.5 FQDN:exch3.test.com

包含以下服务:Exchange Server 2003 enterprise Edition,群集节点2,exchange群集名称EXCH2003;

以上服务器中,DC这个服务器担任的角色有DC和GC(全局编录),EXCH1和EXCH2两台服务器做群集成mailsrv.test.com为exchange的后端,EXCH3为这个exchange组织的前端。

服务器都准备好了,那么我们如果要实现整个RPC OVER HTTP,需要的其它条件如下:

服务器端:

Windows Server 2003 + Exchange Server 2003

推荐安装Exchange SP1,GC需要运行于Windows Server 2003之上。

客户机端:

Windows XP SP1 (需要补丁包 Q331320) + Outlook 2003 SP1或者

Windows XP SP2 + Outlook 2003 SP1或者

Windows 2003 SP1+ Outlook 2003 SP1(其实客户机如果是Windows2003,不安装SP1也可以,推荐安装)

下面我们看一下,对于Exchange服务器,需要做哪些配置。


一、证书服务

首先,我们需要在整个域中创建一个证书服务器,这里我们选择了Windws 2003中的证书颁发机构工具安装自己的证书颁发机构。

要在Windows 2003域中安装证书服务器,可以通过下面的步骤进行安装

控制面板=>添加/删除程序=>添加/删除Windows组件 =>证书服务

安装时,选择“企业根”。

我们这里首先介绍前后端结构中的实现。

二、Exchange前后端结构中RPC-HTTP的实现

一般来说,Exchange前后端架构中,总是以Exchange前端服务器作为RPC Proxy,后端服务器作为RPC Server。客户端通过前端进行连接。因此我们只需要在前端服务器上安装RPC Proxy,颁发证书,配置IIS中的RPC虚拟目录等,之后在安装了Exchange 2003 SP1后,可以配置RPC-HTTP的拓扑结构。

1、配置RPC-HTTP拓扑
下面我们来看如何操作,首先,由于安装了Exchange 2003 SP1,再打开Exchange管理器(ESM)后会看到如下界面,将前端调整为RPC-HTTP拓扑结构中的前端,将后端调整为RPC-HTTP拓扑结构中的后端即可。

同样,将后端服务器的RPC-HTTP属性调整为RPC-HTTP后端服务器即可。

做完以上步骤后,需要手工的设置其它项目。

2、安装RpcProxy
对于前后端服务器的环境,需要在前端服务器上安装RPCProxy组件,这个组件可以通过

控制面板=>添加删除程序=>添加/删除WINDOWS组件=>网络服务=>HTTP代理上的RPC


3. EXCHANGE的虚拟站点申请证书

在前端Exchange服务器exch3上,打开IIS服务管理器,浏览到默认站点,打开默认站点的属性页面,切换到“目录安全性”,点击”服务器证书”,打开证书向导。

在证书向导中,选择“申请一个新证书”=>立即发送请求到一个在线的证书服务器=>填入相关信息=>完成向导。

请注意,在填写“公用名”字段或“颁发给”字段时,务必使用这台服务器在Internet上的FQDN名称,即这个名称要与Internet上可用的RPC代理服务器的URL相同。这个将被Outlook客户端使用,以验证服务器的身份。如果出现证书与客户端尝试连接的名称不匹配的情况,连接将被断开而没有任何通知。也就是说,如果我的前端exchange服务器在Internet上的名称为mail.test.com,那么exch3申请的证书也需要是这个全称。

证书申请成功并安装后,可以点击查看证书,以查看证书。我们需要确保其中“证书目的”栏目中,有且仅有“确保远程计算机的身份”。

4、调整RPC虚拟目录的身份验证方式

在Exchange服务器上,打开IIS服务管理器,浏览到默认站点=>RPC,打开RPC的属性页面,切换到目录安全性,点击“身份验证和访问控制”中的编辑,打开“身份验证方法 ”对话框。


在身份验证方法对话框中,去掉“启用匿名访问”选项的勾,选择”集成Windows身份验证”和”基本身份验证”选项。关闭所有对话框。

5.检查Exchange服务的配置

默认情况下,下面的注册表项目都是正确的,为了保证能够顺利的实施RPC-HTTP方案,请再次检查以下相关信息是否正确。

在Exchange服务器上,打开注册表编辑器,检查下面的键值:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Value name: Rpc/HTTP Port

Value type: REG_DWORD

Value data: 0x1771 (Decimal 6001)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeSA\Parameters

Value name: HTTP Port

Value type: REG_DWORD

Value data: 0x1772 (Decimal 6002)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeSA\Parameters

Value name: Rpc/HTTP NSPI Port

Value type: REG_DWORD

Value data: 0x1774 (Decimal 6004)

以下操作都是在Exchange的前端服务器上进行的,下面需要修改其它设置。

6、配置GC

编辑注册表:

在Exchange组织所在的所有GC服务器,上,打开注册表编辑器,浏览到

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

在右边添加下面的数据:

键值: NSPI interface protocol sequences

键值类型: 多字符串值

键值数据: ncacn_http:6004

在我提供的例子中,唯一的DC就是GC,因而该操作是DC

7 Exchange前端服务器中修改RpcProxy配置

打开注册表编辑器,浏览到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy

在右边双击ValidPorts,进入编辑状态,然后将值修改为:

ServerNETBIOSName:6001-6002;ServerFQDN:6001-6002;ServerNetBIOSName:6004;ServerFQDN:6004;GCNETBIOSName:6004;GCFQDN:6004

利用Exchange服务器的机器名替换其中的ServerNETBIOSName

利用Exchange服务器的完全合格域名(FQDN)替换其中的ServerFQDN

利用GC服务器的机器名替换其中的GCNETBIOSName

利用GC服务器的完全合格域名替换其中的GCFQDN

注意:如果组织中有多台GC,需要都添加到数据中;如果是群集环境,需要将EXCHANGE群集的NETBIOS和FQDN以及各个节点的NETBIOS和FQDN都添加进去。

在我的实验环境中,有一个DC,netbios为dc,FQDN为dc.test.com,Exchange后端为一个群集,其netbios为 mailsrv,FQDN为mailsrv.test.com;节点1的netbios名字exch1,FQDN为exch1.test.com;节点2 的netbios名字为exch2,FQDN为exch2.test.com

那么对于我的实验环境,这个值应该设置为:

mailsrv:6001-6002; mailsrv.test.com:6001-6002; mailsrv:6004; mailsrv.test.com:6004; exch1:6001-6002; exch1.test.com:6001-6002; exch1:6004; exch1.test.com:6004; exch2:6001-6002; exch2.test.com:6001-6002; exch2:6004; exch2.test.com:6004; dc:6004; dc.test.com:6004;

设置完成后,重新启动Exchange服务器上的IIS Admin Service及相关服务。

至此,前后端结构且后端实施了群集技术的RPC OVER HTTP配置在服务器端就顺利完成了,假如您只有单台Exchange Server,不具有前后端结构,那么您需要的操作也很简单,在以上1-7的步骤中,只需要将第1步中选择这是RPC-HTTP后端拓扑的一部分,2-7步是完全相同的即可。

下面来介绍一下客户端的配置。

三、OUTLOOK 2003配置RPC OVER HTTP的实现

由于是通过HTTP代理RPC请求,所以需要客户端信任HTTP服务器,也就是RPC OVER HTTP的前端服务器。

那么我们至少需要两个证书。

第1个是根CA的证书,第2个是RPC-HTTP前端WEB服务器的证书。

1. 证书的安装

我们来看一下如何将这两个证书进行导入。

1.  在安装有证书服务的服务器上,系统路径下会产生一个后缀名为CRT的文件,这个文件包含了这个证书颁发机构的信息。我们需要将这个文件复制到客户端上。

2. 在客户端,双击这个CRT文件,然后点击Install Certificate,将打开证书导入向导。

然后下一步

选择“根据证书类型,自动选择证书存储区”,继续下一步。完成后,对于安全警告,选择接受:

1.      这样我们就在客户端导入了CA的根证书

2.      接下来需要导入Exchange服务器证书,也就是在服务器配置中,通过IIS界面为默认站点颁发的证书,方法是:打开IE浏览器,输入:https:// mail.test.com/exchange

这时IE会弹出提示对话框,要用户对证书进行确认。在上面点击“查看证书”,然后点击“安装证书”,按照向导提示,接受默认设置导入证书。

3.      关闭所有IE窗口后,重新使用IE打开https://mail.test.com/Exchange 连接到服务器,如果不再弹出关于服务器证书的警告信息,就说明已经成功导入,客户端开始信任该服务器提供的证书。

4.      另外的验证方式是打开IE浏览器----》工具---》Internet选项---》内容----》证书,查看“其他人”和“受信任的根证书颁发机构”如果出现上面的两个证书,查看这两个证书如果没有警告信息或红*,则说明导入成功。

注:如果发现安装的Exchange前端服务器证书无法在客户端生效,那么您可以通过在与证书服务器在相同LAN的的一个主机通过http://my certification server/certsrv进行用户证书的申请,并将该用户证书复制到该计算机进行安装,即可解决此类信任问题。在我的实验环境中,由于在DC上安装了证书服务,因而访问地址为http://dc.test.com/certsrv进申请。

2 .Outlook配置文件

1.      在Outlook客户端,打开控制面板=>邮件

2.      点击---显示配置文件

3.      点击---添加,为新的配置文件设置一个名称,点击OK

4.      在向导中,选择”添加新邮件帐户”=>Microsoft Exchange Server

输入服务器名称(注意,此处是后端服务器的名称,在我的实验环境中,应该输入mailsrv.test.com)和用户名称,取消”使用缓存 Exchange模式”选项,然后点击右下角的”其它设置”,如果出现不能解析名称错误,点击“取消”忽略。(此解析过程时间可能会很长)

5.      在Microsoft Exchange Server对话框中,切换到“连接”选项卡

6.      选择“使用Internet Explorer或第三方拨好程序连接”,同时勾选“使用HTTP连接到我的Exchange邮箱”,之后点“Exchange代理服务器设置”。


7.      在该界面的Exchange代理服务器https://中输入“mail.test.com”(此处为RPC代理服务器,在我的实验环境中为前端mail.test.com),同时对“在快速网络中,首先使用HTTP连接,然后使用TPC/IP连接” 和“在低速网络中,首先使用HTTP连接,然后使用TPC/IP连接”进行勾选,在“代理服务器验证设置”中,选择“基本身份验证”,确定后退出。

确定后,即可完成OUTLOOK的RPC-HTTP客户端的配置。

3.验证配置

在运行中输入outlook /rpcdiag,回车,选择刚才建立的配置文件,然后输入用户名和密码,如果在网络连接框中显示了HTTPS的信息,则说明配置完全正确。

沙发
发表于 2006-6-10 17:53:54 | 只看该作者
如果饭要别人一口一口喂着吃,那还要手干什么?
藤椅
 楼主| 发表于 2006-6-10 18:01:11 | 只看该作者
希望這篇文章對一些正想用RPC OVER HTTP的人有幫助吧。

不竟有很多人都不聰明呀,包括我,但我們的求知是十分誠懇!!!
板凳
发表于 2006-6-10 19:53:26 | 只看该作者

顶啊

如果写技术文章还要留悬念的话,还不如不写.
报纸
发表于 2006-6-10 22:28:25 | 只看该作者
楼上的,我的意思不是说写文章要留悬念,我的意思是针对这个内容和之前的http://www.5dmail.net/html/2006-2-10/200621094149.htm这个内容有什么区别,只是多了几幅图,如果因为少了图片,那这不是一口口都要喂了。
地板
发表于 2006-6-10 22:29:38 | 只看该作者
我本人对LZ发帖表示欢迎。
7
发表于 2006-6-12 08:24:07 | 只看该作者
首先要声明的是:我的那边文章测试环境确实是在外网,如果配置测试不通过我不会发布。另外我的环境就是单台Exchange
8
 楼主| 发表于 2006-6-12 09:04:51 | 只看该作者
原帖由 goxia 于 2006-6-12 08:24 发表
首先要声明的是:我的那边文章测试环境确实是在外网,如果配置测试不通过我不会发布。另外我的环境就是单台Exchange



至Goxia版主:

首先:你的文章给我很多的指引.不过我可能是没有做证书一部分.其实你的文章中有提及到EX和GC两台不同的电脑(如果EX就是GC的话那就是一台了)上修改注册表的资料,这点上我在发表该贴是没有注意到的.造成我发了一句"我看過的文章中都沒有提及到證書安裝及GC服務器上的注冊表修改,所以造成我一直不能成功。"言论,所以很对不起!

其次,至于最后使用outlook /rpcdiag 进行连接测试时显示状态为"TCP/IP"是否可以真的连接,该问题请大家有机会时求证一下.当时我用单机和前后端两种方法按你的文章做.可以在内网连接.显示为"TCP/IP".但在外网就不能连接.不过我的系统中没有ISA服务器.我是通过我的防火墙来做端口映射到我的EX服务器的.不知这有没有关系.但我确认在防火墙没有修改的前提下.当我做完证书安装等设定后,状态为"HTTPS"时,外网就可以连接了.我也不知如何原因呀.请指教.

另外多谢chrisqian 版主的支持.
9
发表于 2010-5-17 15:03:36 | 只看该作者
学习下。。。。
10
发表于 2010-5-19 10:56:38 | 只看该作者
我本人对LZ发帖表示欢迎。
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-12-29 01:54

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表