這段時間正在做一個項目,服務端採用的是Lync Server 2013,所以必須在環境中部署Office Web Apps。遇到了一些Office Web Apps的一些問題,說起來非常的有意思,因爲之前在做OWA部署這一塊完全沒有發現存在這樣的問題,所以在排查這個問題的時候花了非常多的時間,最後才確定是這樣的問題。環境是這樣,一臺Lync Server 2013標準版前端服務器,在此服務器上面Hyper-V跑了一臺OWA服務器;還有一臺DC服務器,在Hyper-V上面跑了一臺Lync Server 2013邊緣服務器。 每臺服務器至少有兩張網卡,一張連物理局域網,一張用來做內網。
其中DC、標準版FE、邊緣都是通過一根專線連接到外部網絡,在這根的防火牆上發佈了5061、444、442到邊緣、443到標準FE。OWA是通過另一根專線連接到外部網絡,在這根線的防火牆上發佈了443到OWA。
OWA的證書用的是邊緣的,帶有私鑰,並且在SAN裏面也包含了OWA的FQDN和DNS名稱。此問題同時出現在內部環境和外部環境。在進行PPT共享時提示服務器連接問題,一些演示功能不可用。如下圖:
clip_p_w_picpath001
我的PPT是可以正常上傳,然後顯示加載中的,在加載片刻後會出現由於服務器連接問題,一些演示功能不可用。然後在服務器上取消關聯OWA,重建OWA,重新關聯,可以看到在發佈拓撲後,服務器有id 41034的日誌記錄:
Web 會議服務器已成功發現 Office Web Apps 服務器(WAC),PowerPoint 內容已禁用
clip_p_w_picpath002
41032的日誌內容是:
Web 會議服務器 Office Web Apps 服務器(WAC)發現已成功
Office Web Apps 服務器內部演示者頁面: https://owa.domain.cn/m/Presenter.aspx?a=0&e=true&
Office Web Apps 服務器內部與會者頁面: https://owa.domain.cn/m/ParticipantFrame.aspx?a=0&e=true&
Office Web Apps 服務器外部演示者頁面: https://office.domain.cn/m/Presenter.aspx?a=0&e=true&
Office Web Apps 服務器外部與會者頁面: https://office.domain.cn/m/ParticipantFrame.aspx?a=0&e=true&
這裏的四個地址非常有意思,打開均提示應用程序錯誤。跟後面在IIS中打開是一樣的,直接顯示應用程序錯誤。
然後我用日誌分析工具,分析了客戶的連接,得出以下的結果:
- <reportError  xmlns=" http://schemas.microsoft.com/2006/09/sip/error-reporting">
    -  <error  toUri="sip: [email protected];gruu;opaque=app:conf:focus:id:CW55GGN9"
                    callId="48c14d1520d94da2a90df1b1f86ee898"
                    fromTag="4f8ca09520"
                    toTag="7D760080"
                    requestType=""
                    contentType=""
                    responseCode="0">
           <diagHeader> 54024;reason=" A viewing URL navigation was attempted.";ClientType=Lync;Build=15.0.4420.1017;ContentMCU="sip: [email protected];gruu;opaque=app:conf:data-conf:id:CW55GGN9";ConferenceUri="sip: [email protected];gruu;opaque=app:conf:focus:id:CW55GGN9";LocalFqdn="REIN-PC";Url=" https://office.domain.cn/hosting/discovery
這裏我們直接打開官方指南中提示的「https://<office web apps fqdn>/hosting/discover」會發現是正常的,會正常的顯示XML內容。由於我沒有截圖,用一下之前的圖片。
clip_p_w_picpath003
除了上面的錯誤外,還有這個錯誤:
<reportError xmlns="http://schemas.microsoft.com/2006/09/sip/error-reporting">
- <error toUri="sip: [email protected];gruu;opaque=app:conf:focus:id:8JVC3K0R"
callId="a8a72df13d9a473884edb254627efce6"
fromTag="5f2de243dc"
toTag="6C3D0080"
requestType=""
contentType=""
responseCode="0">
<diagHeader> 54018;reason=" The navigation to the WAC URL failed.";ClientType=Lync;Build=15.0.4420.1017;ContentMCU="sip: [email protected];gruu;opaque=app:conf:data-conf:id:8JVC3K0R";ConferenceUri="sip: [email protected];gruu;opaque=app:conf:focus:id:8JVC3K0R";LocalFqdn="REIN-PC";Url=" https://office.domain.cn/m/Presenter.aspx?a=0&e=true&WopiSrc=https%3A%2F%2Flync01.domain.cn%2FDataCollabWeb%2Fwopi%2Ffiles%2F1-1-25CEB2B&access_token=AAMFEK8DTuvzp61SmKQqomYLMjMGEN6qWlh_TnVdityizWOhTGWBEK8DTuvzp61SmKQqomYLMjOCAo6AgyBbqMuQE5I1UYrT30DtIKul9Kb1ErcGFcjZvlrAWMXQcoYIqzuh2XWizwgIDURhdGFDb2xsYWJXZWI&<fs=FULLSCREEN&><rec=RECORDING&><thm=THEME_ID&><ui=UI_LLCC&><rs=DC_LLCC&>";ErrorCode="0x800C0005"</diagHeader>
<progre***eports>
我們嘗試打開其中的URL地址,如下:
到此我們可以發現所有的問題都直指OWA服務器,因爲Lync那邊我們是不需要做任何特殊配置的,只需要簡單的做定義和綁定。如果還是不能確定問題,那我們直接在IIS中打開m虛擬應用,如果看到的是以下錯誤,那麼就可以確定是這個問題了。
clip_p_w_picpath004
這裏的證書錯誤是可以忽略的,但內容的錯誤是絕對不能忽略。
clip_p_w_picpath005
做過網站的朋友都知道這裏顯示的這個錯誤根本沒有辦法繼續做分析,因爲根本就沒有提供什麼有價值的錯誤信息。但即便如此,我們可以確定一點,這並不是一個情況,換言之,我們的OWA服務器確實有問題,無論是什麼問題。而我們的服務器是剛剛配置好的,按理說不該出現這種問題。
其實到這裏我已經沒有辦法繼續分析下去,因爲我不會做網站,也不懂.NET,但是非常巧的是我自己建立的環境恰好也是Lync Server 2013,並且夜有OWA服務器,是沒有問題。到此我決定做一個對比,很遺憾的是發現IIS也好,還是Lync也好,所有的配置幾乎是一模一樣的,到這裏似乎這個問題非常的微妙,因爲兩個一模一樣的環境,一個沒有問題,一個有問題,這肯定是不科學的,肯定有一些差異。
最終發現我的環境有一個很大的差異,雖然也是用的Windows Server 2012搭建,但是我的全部都是基於模板建立的差異磁盤虛擬機。而我在做模板的時候百分百會做一個操作,那就是加上.NET Framework,爲了肯定我的想法,我看了我的環境,的確如此,我在Server 2012中安裝了.NET Framework 3.0和2.0。在發現這些差異後,我很快的否定,因爲TechNet官網明確表示OWA服務器不需要.NET 3.0和2.0,只需要Server 2012的4.5即可。
clip_p_w_picpath006
但很明顯,如果因爲官方文檔就去或者不去做測試,那就太沒有自己的主見了。所以我決定在有問題的OWA服務器上安裝.NET 3.0和2.0。結果可想而知,OWA服務器的確需要.NET 3.0和2.0,而這在官方文檔中是沒有列出的,由於我不做開發,我不知道爲什麼會出現這種差異,但似乎不是我的環境有問題,而是確實沒有.NET 3.0和2.0就沒辦法把我的PowerPoint 演示出來。在瞭解到解決方法後,我們會進行功能添加,但發現直接添加是有問題的,我們需要做一個Sources的指定,很簡單。我們在虛擬機或物理機上插入Server 2012安裝光盤,然後我們進行添加功能。
clip_p_w_picpath007
在選擇功能之後,在安裝界面我們不忙點安裝,單擊左下角的「指定備用源路徑」。
clip_p_w_picpath008
我們在這裏選擇指定備用源,並指定X:\Sources\sxs\。其中X是光盤盤符或鏡像掛載的盤符。
clip_p_w_picpath009
單擊確定,然後安裝.NET 3.0和2.0吧,安裝完成可以重啓一下OWA服務器。在完成之後可能我們的Lync還是沒辦法共享PPT,我們這時需要在Lync拓撲中解除前端和OWA的關聯,然後再將OWA刪除,發佈拓撲。完成之後稍待片刻,再次編輯拓撲,添加OWA服務器並關聯前端,完成後發佈拓撲。完成後我們立刻觀察事件日誌,如果出現事件ID 41032就OK了。
clip_p_w_picpath010
如果仍然有問題,那就重啓Lync前端服務器吧,有的時候僅僅是修改拓撲是沒辦法解決問題的,並且Stop-CsWindowsServices和Start-CsWindowsSerivces也是沒有辦法解決問題的,最根本的方法還是重啓Lync前端服務器。
clip_p_w_picpath011
希望今天的文章能夠幫助大家解決相同的問題,在這篇文章裏我較爲詳細的說了下排錯過程而並非直接給大家答案,這是因爲這種錯誤可能太多,不可能每個錯誤都知道解決方法,所以我希望分享在排錯過程中的思路和方法。
我沒有在Server 2008 R2中測試此問題是否重現,因爲我確實比較喜歡Windows Server 2012。雖然Windows Server 2008 R2確實很不錯,但2012感覺更佳,這僅僅是我個人而言。好了今天就到這裏,感謝大家的支持,有任何問題歡迎回覆文章,我會盡快的回覆大家。