月別アーカイブ: 2017年8月

Office Web Apps Serverでファイルを開くとエラーになってしまうときの対処法

現在、SharePoint Foundation 2013を用いたシステムを運用している。
Excelブック等のOfficeファイルを今時風にブラウザ上で閲覧、編集したいという要望が出てきた。
確かにSharePoint Onlineでできるのだから、Foundationでもできそうである。

調査したところ、Office Web Apps Serverを別途立てればできるということが分かった。
Office Web Apps サーバーの概要

ボリュームライセンスが要るので、個人ではまず無理だと思う。
幸いこの会社ではライセンスを持っていたので、Office Web Apps Serverを立て、ブラウザ上での閲覧、編集ができることを確認した。

しかし、運用して数ヶ月、突然「ブラウザーで閲覧」をするとエラーが発生するようになった。
エラー画面は
「’/x’ アプリケーションでサーバーエラーが発生しました。」
で以下、ランタイムエラーである旨が記述されている。

イベントログを見たが、SharePoint Server側には特にエラーはなかった。
が、Office Web Apps Server側にはアクセス毎にエラーログが出力されていた。
詳細な内容は割愛するが、「ファイルが見つかりません」というもの。

Office Web Apps Server自体、かなり資料が少なく、調査に難航したが、
何とか解決できた。
なお、既に数回この現象には遭遇しており、それぞれの対処法を記述する。

・再バインドする

調査したところ「Office Web Apps Serverを再インストールすればいい」という回答があった。
Web Apps Server ASP .NET error code 3005 event ID 1309 same key already added
しかし、今回、問題のOffice Web Apps Serverと連携している別のSharePoint Serverがあり、こちらは問題なく動作していた。
よって、これはOffice Web Apps Server側ではなく、SharePoint Server側に問題があると思われ、この回答は当てにならなかった。

さらに回答を辿ると、再バインドでも解消する場合があるという記載があった。
これに従い、以下のコマンドをSharePoint管理シェルから実行して再バインドを行った。
なお、Office Web Apps Serverを「OWA-Server.company.com」とし、SSL通信を前提とする。

なんと、これだけで解消した。
どんだけ不安定なソフトウェアなんだ。。。

・FWで弾かれている

上記対応から数日後、また再発したが、今度は上記の方法では解消しなかった。
途方に暮れていると、ネットワーク管理者がFWの設定を変更したとの情報が。
確認したところ、SharePoint Serverへのアクセスを特定部署のIPのみに制限していた。
一見問題なさそうなのだが、その結果、Office Web Apps ServerからSharePoint Serverへのアクセスができなくなり、
「ファイルが見つかりません」エラーが発生していた。

Office Web Apps ServerからSharePoint Serverへの443ポートを開放してもらい、問題は無事解決した。


MS製品の情報は少ないものもあり、あまり仕事という責任が伴う場では使いたくないのが正直なところ。
責任がなければ、色々実験できて楽しいんだけど。

IEのイントラネット識別方法

Internet Explorerでは、現在アクセスしているページが
以下のように4種類に分類される。

* インターネット
* ローカルイントラネット
* 信頼済みサイト
* 制限付きサイト

「信頼済みサイト」は手動で任意のサイトを登録して初めて分類される。
例えば、ある程度権限が無いと上手く動作しないサイトでは
ユーザーに予め登録をお願いし、セキュリティを弱くすることでサイトが正常に動作するようにすることができる。
「制限付きサイト」はその逆と考えて差し支えない(業務上、今まで使たことは無いが)。

ただ、そんなセキュリティを弱くしないといけないほどのシステムなんて、大抵は社内イントラネットだ。
なので、普通ならは信頼済みサイトへの登録なんてせずとも、自動でローカルイントラネットに識別され、システムは問題なく動作する。
(デフォルトでは「ローカルイントラネット」の方が「信頼済みサイト」よりセキュリティが弱く設定されている)

・・・と思っていたが、色んな会社を回っていると、どうもそうとも限らないらしい。
社内システムの筈なのに、IE上は「インターネット」に分類されている場合がある。
そこで、この分類され方について調べてみた。

何とこれ、実際にイントラネットかは全く判定していなかった。
URLに.(ドット)が入っていない場合は「ローカルイントラネット」、入っている場合は「インターネット」を分類しているに過ぎなかった。
FQDN または IP アドレスを使用すると、イントラネット サイトがインターネット サイトとして判別される

だから、社内システムでもURLが「http://CompanySystem.com」みたいになっている場合は「インターネット」識別になっていたのだ。
極端な話、hostsファイルを弄って「http://google」で「http://google.com」にアクセスするように設定去れば、
Googleのページすら「ローカルイントラネット」判定される。

いくら何でも雑な分類すぎませんかね。。。
まぁ、もうIEも消えてゆくはずだし、いいか。