Exchange 2013 OWA & ECP 发生错误 500意外错误
【摘要】
最近在Exchange 2013环境中,遇到OWA/ECP无法访问的问题;用户是可以正常通过Outlook 收发邮件,只有当访问OWA/ECP页面后,输入账户验证信息后,提示"出现意外错误,无法处理你的请求"; 比较神奇的时,当前环境是总部7台Exchange 前端服务器,14台Exchange 后端服务器,分部2台全角色部署;几十台邮件服务器,开始时是总部一台后端服务器上的数据库的用户,在排错的过程中又出现了一台后端服务器上的用户无法正常使用OWA/ECP;此篇文章将分享下整个排错的过程,以便于大家遇到类似问题方便排错。
【现象症状】
访问 OWA 出现以下错误:
访问 ECP出现以下错误:
邮箱服务器事件日志中记录以下错误:
日志名称: Application
来源: MSExchange Control Panel
事件 ID: 4
日志名称: Application
来源: MSExchange Common
事件 ID: 4999
日志名称: Application
来源: ASP.NET 4.0.30319.0
事件 ID: 1309
【排错过程】
当第一时间发现故障的时候,首先就检查了用户所在数据库状态是否正常、Exchange CAS\MBX 服务是否正常,以及通过命令检查组件状态是否正常。
Get-ServerComponentState ServerName
以上的检查服务器均处于正常状态,然后去查看用户所在活动数据库Exchange服务器日志,发现服务器记录以下错误:
日志名称: |
Application |
Application |
Application |
来源: |
MSExchange Control Panel |
MSExchange Common |
ASP.NET 4.0.30319.0 |
事件ID: |
4 |
4999 |
1309 |
通过错误信息基本可以判断是IIS故障导致该问题,最近的变更没有进行过网络的调整,唯一变更是对所有邮箱服务器\ClientAccess\ecp\web.config文件增加参数,使ECP可以正常显示所有OU列表;
检查了该台服务器web.config修改没有问题,同时通过google查询以上日志信息在微软论坛找到类似问题,大致的说法是,导致该问题原因是AD Configuration―Services-- Microsoft Exchange,CN=,CN=Configuration,-- Client Access 的 msExchCanaryDataX 属性值错误导致;
当时查到这个资料后,由于没办法判断环境中的msExchCanaryData 属性值是否是正常的,此值又是一个全局的设置,出现问题的服务器只有一台;便没有在生成环境中,尝试清空此属性值来解决问题;由于该邮箱服务器上同时挂载几个生产数据库,考虑到对用户的使用影响,进行了DAG活动副本的切换,切换数据库承载服务器后,用户访问OWA\ECP 正常。但是出现此问题的原因还未查出来;
之后检查了该服务器IIS安全设置、重定向设置、SSL设置等等,依然没有发现异常;通过重启IIS,Exchange服务、重启服务器、回退\ClientAccess\ecp\web.config文件修改等尝试问题依然存在;不过在重启的过程中发现,重启后,马上进行OWA\ECP访问测试,是可以正常登录,但几秒后依旧出现同样的问题;
对用户的故障虽然解决了,但故障根本原因还未找到,第二天向微软开了CASE查这个问题,在等待微软的答复过程中,又出现了一台邮箱服务器OWA/ECP访问出错的问题,同样的现象与日志记录;这时候,意识到可能真的是由于msExchCanaryData 属性值异常导致,在测试环境中模拟了清空该属性的操作,发现对现有用户的正常使用不会造成影响,清空该值后无需重启服务器,只需重启MSExchangeOWAAppPool应用程序池即可;微软给出的答复也是建议清空msExchCanaryData 属性值来解决此问题
【解决过程】
1.打开ADSI编辑器,连接到【配置】,然后找到【CN=Services】--【CN=Microsoft Exchange】 --【CN=<Exchange组织名称>】--【CN=Client Access】
2.右键点击选择【属性】,打开属性编辑器窗口,在【属性编辑器】选项卡中找到"msExchCanaryData"字样的属性值(可能会有0-n多项)
3.将msExchCanaryDataX 属性值复制并记录至记事本中,以作备份;同时也可对AD进行备份,以作备份
4.然后清空msExchCanaryDataX 属性值(可能会有0-n多项),注意这里是清空,不是删除该属性,是清空;
5.打开CAS服务器的IIS管理器,点击【应用程序池】,找到【MSExchangeOWAAppPool】,然后点击右侧窗口的【回收】
6.重新查看msExchCanaryData 属性值,可以看到已经重新生成了msExchCanaryData 属性值
7.验证可以正常登录OWA/ECP
【问题解析】
msExchCanaryData msExchCanaryData是Exchange 架构扩展过程中创建的属性,msExchCanaryData值是加密的令牌,一般在客户端与服务器端进行OWA,ECP或者其他Web服务时使用
正常访问流程:
非正常访问流程:
详细可参考以下文章:
https://ucbite.wordpress.com/2014/01/13/exchange-2013-owa-ecp-failure-after-deploying-cu3/
http://social.technet.microsoft.com/wiki/contents/articles/29433.exchange-2013-troubleshooting-something-went-wrong-in-both-owa-and-ecp.aspx