前几天公司海外站点的Exchange Sever 2013出了点问题,Outlook用户可以正常连接到Exchang server进行邮件收发,脱机通讯簿、activesync等也都正常,唯独通过WEB访问OWA和ECP的时候,输入用户名和密码,点击登录验证完用户名密码后,开始跳转至邮箱的过程中会清楚的看到“正在打开您的邮箱,正在处理。。。”,但是最后就会提示“发生意外错误,无法处理你的要求”,点击“详细信息”会看到类似于“X-OWA-Error: System.NullReferenceException”或者“X-OWA-Error: microsoft.exchange.data.storage.connectionfailedtransientexception”等字样。无论是在客户端还是Exchange sever本身都是同样的问题。另外有意思的问题是Exchange Server有BJ和HK 两个站点,BJ一切正常,出问题的只是HK站点。
看到这里有经验的小伙伴都会首先去检查IIS的OWA虚拟目录或者后端用户所在的Mailbox数据库。在Exchange server中打开“事件查看器”,并没有发现和Exchange和IIS相关的明显错误日志,甚至其他的应用程序等日志也没有明显的错误。Outlook可以正常收发邮件,所以基本可以排除mailbox的问题,不过还是通过eseutil.exe检查了数据库的状态—“clean shutdown”,那也可以排除数据库的问题喽。接下来就是OWA了,去检查OWA的log, Exchange安装目录的“/v15/Logging/OWA/ServerTrace”中
at Microsoft.Exchange.Clients.Common.Canary15..ctor(String logonUniqueKey)
at Microsoft.Exchange.Clients.Common.Canary15Cookie.TryCreateFromHttpCookie(HttpCookie cookie, String logonUniqueKey, Canary15Profile profile)
at Microsoft.Exchange.Clients.Common.Canary15Cookie.TryCreateFromHttpContext(HttpContext httpContext, String logOnUniqueKey, Canary15Profile profile)
at Microsoft.Exchange.Clients.Owa2.Server.Core.OwaRequestHandler.InternalOnPostAuthorizeRequest(Object sender)
at Microsoft.Exchange.Clients.Owa2.Server.Core.OwaRequestHandler.OnPostAuthorizeRequest(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
这个过程显示的大概是exchange的前端cas和后端mailbox之间创建连接请求的过程。这时大家可能想到的是前端CAS和后端Mailbox的网络通信是否存在问题?
由于目前cas和mailbox是两台all in one角色(有dag),cas和mailbox通信基本是发生在同一台服务器上,且网络没有做过任何调整,网络问题基本也可以排除了。
接下来能想到的无非就是OWA虚拟目录或许出问题了,动手重置OWA虚拟目录后,问题依旧。。。最后终极杀手锏找了一台服务器重新安装一台exchange2013,不做任何更改直接创建用户和数据库,然后在exchange本机尝试访问owa,竟然出现同样的问题,无语了。。。
新闻热点
疑难解答