作者/彭辉
工程师介绍:工作于微软全球技术支持中心,现于合作伙伴支持部为全球范围内的合作伙伴提供在线支持服务。熟悉的产品包括Windows桌面系统、Windows SBS服务器、ISA服务器。您可以发送电子邮件到billypenghui@hotmail.com与他联系。
工程师的话: 对于一个高度信息化公司的员工来说,可以随时随地访问并处理公司的电子邮件是非常重要的。许多邮件服务器产品都支持通过网络页面的方式来访问公司内部的电子邮件,微软公司的Exchange Server也不例外——我们可以利用Exchange Server的Outlook Web access功能来访问公司内部的电子邮件。本文将着重介绍针对Exchange Server 2000/2003的Outlook Web Access的常见故障及故障排除技巧。
Outlook Web Access(OWA)基于表单的身份验证
在Exchange 2000中,用户访问OWA主页时,系统会弹出输入用户名和密码的对话框,在正常登录之后系统便会记录下该用户的登录凭据,直至用户登出(注:ISA Server 2004提供了基于表单的身份验证功能,我们可以利用ISA Server 2004来实现这一Exchange 2000所不具备的功能。由于这是ISA服务器所提供的功能,在此就不加赘述了)。显然,这对于企业来说是不够安全的。在Exchange Server 2003中,采用了基于表单的身份验证机制(Forms-Based Authentication,FBA,参见图1),当用户输入用户名和密码并登录OWA后,Internet Explorer会通过Cookie来控制用户的登录时间。
通过图1我们可以看到,登录OWA的时候,系统会让我们选择这是一台公共或共享计算机,还是一台私有计算机。两种选择所产生的Cookie会有所不同。若选择“公共或共享计算机”,你会有15分钟的时限,若15分钟之内没有对OWA进行任何操作,Cookie会将当前OWA会话判为超时,此时若再进行任何操作,则会出现如图2所示的页面,返回登录页面。若选择“私有计算机”,则会有24小时的时限;此时,系统会提示“警告:选择此选项意味着您承认该计算机遵守组织的安全性策略。”
Exchange Server 2003所支持的OWA的客户端有两种——高级(IE6默认,参见图3)和基本。当用户采用基本客户端登录的时候,速度较快,但有一定的功能限制。需要注意的是,如果用户采用基本客户端登录的话,在OWA页面中所进行的任何编辑工作(例如在点击“新建”按钮之后,编辑一封电子邮件)都不会触发Cookie重新计算时间。而在高级模式中,页面中所进行编辑的动作则会触发Cookie。
对于某些组织来说,OWA默认的超时限制仍不够安全,我们可以通过在Exchange前端服务器上修改注册表来修改超时限制。
首先,以Exchange管理员身份登录Exchange服务器,并通过注册表编辑器打开如下注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA;随后,新建一个名为PublicClientTimeout的DWord;最后,将其赋予一个合适的超时限制(1至43200,以分钟为单位)。
通过以上步骤,即配置好了新的“公共或共享计算机”超时限制,配置“私有计算机”的超时限制只需将PublicClientTimeout替换为TrustedClientTimeout即可。需要注意的是,若TrustedClientTimeout的值小于PublicClientTimeout,则两者都会以最严格的时限为基准。另外,在修改注册表之后,需要重新起动“World Wide Web Publishing”服务方可使其生效。
前端服务器与后端服务器 许多公司采用前端服务器(Front-End Server,FE)/后端服务器(Back-End Server,BE)相接合的方式来管理Exchange服务器。前端服务器与Internet相连接,处理与Internet之间的信息交换,提供OWA等功能,并且从后端服务器获取信息。我们建议将所有的邮件存储建立在后端服务器之上(前端服务器选择框,请参考图4)。虽然我们在前端服务器上面仍然会维持一个邮件存储,当它仅是为了对外发送“未送达报告”(non-delivery report,NDR)所用。
一般来说,在访问OWA出现问题的时候,如果存在前端服务器和后端服务器,我们所要做的第一个测试即是从公司内部网络访问后端服务器的OWA。如果后端服务器的OWA访问没有问题,则故障一般是由前端服务器的配置或者其他问题所导致。
欲了解关于前端服务器/后端服务器架构的细节,请参考“Exchange Server 2003 and Exchange 2000 Server Front-End and Back-End Server Topology Guide”(http://www.microsoft.com/technet/PRodtechnol/exchange/guides/E2k3FrontBack/021dfbc2-1200-4aab-9ce2-08c62e6a6460.mspx)。 另外,请后端服务器为群集服务器的用户注意微软知识库文章841561所描述的热点问题。当你以非管理员身份登录一台客户端计算机并访问后端群集服务器(Exchange Server 2003 Service Pack 1)时,会出现“500 - Internal server error”。若你是该客户端的管理员,则一切正常。解决此问题,请立即在所有Exchange服务器上安装841561补丁程序。
"500 - Internal server error" error message when a user tries to access a clustered Exchange Server 2003 back-end server by using Outlook Web Access
http://support.microsoft.com/kb/841561
Outlook Web Access登录页面的常见故障排除 对于Exchange 2000来说,如果出现OWA登录页面(http:///Exchange)无法访问的故障,我们可以尝试使用http:///Exchange/来进行访问。如果此时可以正常访问,该故障一般是由IIS的验证问题而导致的。
另外,如果不能够使用UPN名称进行登录,可参考微软知识库文章“Users Can Log On Using User Name or User Principal Name”(http://support.microsoft.com/kb/243280)。
在这里需要补充一点,对于Small Business Server 2003的用户来说,默认是直接使用Username,而不是Domain\Username来进行登录的。在安装Exchange Server 2003 Service Pack 1之后,会出现两个问题,其中一个便是必须使用Domain\Username的方式进行登录。此时请安装微软知识库文章843539所描述之补丁程序 (注:此问题将在Windows Small Business Server 2003 Service Pack 1中被解决)。
You cannot use Outlook Web Access with forms-based authentication and you receive a Store.exe e-mail alert message
http://support.microsoft.com/kb/843539
确认Outlook Web Access故障信息 在确定故障出现在前端服务器之后,常用的故障排除步骤如下:
首先,我们需要建立一个新的普通用户,确保使用新的用户在同一台计算机上访问OWA也会产生同样的问题。这样我们可以保证故障不是因为用户的信箱故障而产生的,也可以确认不是由于用户的误操作(如密码错误)所造成的。
随后,更换另外一台计算机,清除Internet Explorer的历史记录和Cookie,并重新访问OWA。这样可以保证该问题不是由浏览器故障而产生的。需要注意的是,如果你使用Windows xp Service Pack 2,请参考以下两篇微软知识库文章来对Exchange服务器和Windows XP计算机进行配置。
在 Windows XP Service Pack 2 计算机上运行Exchange Server 2003 OWA客户端时,S/MIME 控件无法加载到OWA中
http://support.microsoft.com/kb/883543 在Windows XP SP2计算机上使用Outlook Web Access的已知问题说明
http://support.microsoft.com/kb/883575 最后,我们可以看到Internet Explorer所提示的错误代码,例如404等。当我们无法看到错误代码时,请使用如下步骤:
1. 打开Internet Explorer;
2. 点击“工具”菜单,点击“Internet选项”;
3. 点击“高级”选项卡;
4. 取消“显示友好HTTP错误信息”;
5. 点击“确定”按钮并重新访问OWA页面。
若Internet Explorer左下角显示一个黄色的叹号标记,则请双击它来查看具体脚本错误。你也可以使用以下步骤:
1. 打开Internet Explorer;
2. 点击“工具”菜单,点击“Internet选项”;
3. 点击“高级”选项卡;
4. 选中“显示每个脚本错误的通知”;
5. 点击“确定”按钮并重新访问OWA页面。
注意,在某些情况下,系统会返回一个对话框,此时我们需要使用网络监视器或者查看IIS日志来判断错误代码。IIS日志默认保存在C:\Windows\System32\LogFiles文件夹(参见图5)。 如果OWA使用SSL加密(推荐),使用网络监视器则没有效果。使用网络监视器,请参考微软知识库文章“如何使用网络监视器捕获网络通讯量”(http://support.microsoft.com/kb/148942)
常见Outlook Web Access故障及相关知识库文章。 一般来说,最常见的错误便是401和404错误,请参考以下微软知识库文章来进行故障排除(已标明仅适用于Exchange 2000的知识库文章)。
XCCC:Outlook Web Access 客户端无法登录
http://support.microsoft.com/kb/327843
HTTP 401 or 404 error messages when you access OWA implicitly or explicitly
http://support.microsoft.com/kb/293386
XCCC:Exchange 环境中的 IIS 锁定和 URLscan 配置(Exchange 2000)
http://support.microsoft.com/kb/309508
HTTP Error 404 "Page cannot be displayed" when you attempt to connect to the OWA server after you upgrade from Exchange Server 5.5 to Exchange 2000 Server(Exchange 2000)
http://support.microsoft.com/kb/288123
XCCC: "HTTP 404" Error Appears When You Try to Log On to OWA Through a Front-End Server in a Cluster
http://support.microsoft.com/kb/312422
XWEB: Unable to Log On to a New Mailbox the First Time You Use Outlook Web Access(Exchange 2000)
http://support.microsoft.com/kb/259378
对于403错误,一般是由于IIS访问控制所造成的。首先,若使用SSL方式(推荐)访问OWA,务必确保使用https://name/Exchange来进行访问。随后,请检查IIS默认网站和Exchange虚拟目录的目录安全性。对于405错误,一般可以通过安装831464补丁来解决(相信安装过Exchange Server 2003的人对这个补丁应该非常熟悉了)。FIX:IIS 6.0 压缩崩溃导致访问冲突http://support.microsoft.com/kb/831464对于500错误,产生问题的可能性比较多,相关的微软知识库文章也很多,请查看以下搜索结果:Outlook Web Access 500错误http://search.microsoft.com/search/results.aspx?View=en-us%26amp;p=1%26amp;c=3%26amp;st=b%26amp;qu=owa+500%26amp;swc=3%26amp;na=33%26amp;cm=512 对于503错误,可以遵循以下两篇文章来进行故障排除。KB 305030针对Exchange 2000,KB 823159针对Exchange Server 2003。 How to Troubleshoot the "503 Service Unavailable" Error Message in Outlook Web Access 2000
http://support.microsoft.com/kb/305030
How to troubleshoot the "503 Service Unavailable" error message in Outlook Web Access in Exchange Server 2003
http://support.microsoft.com/kb/823159
事件查看器 除了以上所述的通过更换和配置浏览器以及查看IIS日志而了解具体的错误信息外,事件查看器是一个非常重要的工具。举例来说,一个客户发现只要在OWA中添加附件,整个Exchange服务器便停止响应。通过查看事件查看器,我们找到了以下错误,并确定为Exchange Information Store(Store.exe)崩溃:
Event Type: Error
Event Source: MSExchangeIS
Event Category: General
Event ID: 9673
Date: 5/9/2005
Time: 6:09:36 PM
User: N/A
Computer:
Description: An exception with code 0xc00000fd was thrown in module C:\WINNT\system32\ntdll.dll; some parameters and their values were . A significant section of the call stack is in the data section.
通过查找微软知识库文章,发现是Norman防病毒软件所导致的问题——“The Microsoft Exchange Information Store service(Store.exe)crashes when an Outlook Web Access client adds an attachment to an e-mail message”(http://support.microsoft.com/kb/878497)。
Outlook Web Access故障排除的相关资源 前文讲述了一些Outlook Web Access的常见故障,但在实际生产环境中,Outlook Web Access可能产生的故障远不止这些。排除这些故障的关键前提就是:一定要确定问题根源所在——Exchange服务器/IIS服务/浏览器。另外就是根据我们所能掌握的错误信息进行故障分析、调查,进而排除故障。
下面列举一些常用的关于Outlook Web Access故障排除方面的资源: 微软Exchange 2000 Server Outlook Web Access故障排除白皮书(英文)
http://www.microsoft.com/technet/prodtechnol/exchange/2000/support/trowae2k.mspx
Exchange Server 2003事件及错误检索
http://www.microsoft.com/technet/support/ee/search.aspx?LCID=1033%26amp;DisplayName=Exchange%20Server%202003%26amp;ProdName=Microsoft%20Exchange%26amp;MajorMinor=6.5
Exchange相关论坛资源
http://www.microsoft.com/exchange/community/relcommunities.mspx
Exchange Server Clients新闻组(英文)
http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.exchange.clients
Exchange Server中文新闻组
http://www.microsoft.com/China/community/dgbrowser/zh-cn/default.mspx?dg=microsoft.public.cn.exchangeserver
,