【摘要】 前端
最近在Exchange 2013環境中,遇到OWA/ECP沒法訪問的問題;用戶是能夠正常經過Outlook 收發郵件,只有當訪問OWA/ECP頁面後,輸入帳戶驗證信息後,提示"出現意外錯誤,沒法處理你的請求"; 比較神奇的時,當前環境是總部7臺Exchange 前端服務器,14臺Exchange 後端服務器,分部2臺全角色部署;幾十臺郵件服務器,開始時是總部一臺後端服務器上的數據庫的用戶,在排錯的過程當中又出現了一臺後端服務器上的用戶沒法正常使用OWA/ECP;此篇文章將分享下整個排錯的過程,以便於你們遇到相似問題方便排錯。web
【現象症狀】數據庫
訪問 OWA 出現如下錯誤:後端
訪問 ECP出現如下錯誤:安全
郵箱服務器事件日誌中記錄如下錯誤:服務器
日誌名稱: Application網絡
來源: MSExchange Control Panel架構
事件 ID: 4編輯器
日誌名稱: Applicationide
來源: 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