SSL ホストヘッダーサイトの PowerPivot ギャラリースナップショットが失敗する

この記事は、 Rick Andring(サポートエスカレーションエンジニア) によって作成されました。

複数のスレッドが問題に対処し、PowerPivot for SharePoint 2016 Gallery スナップショットに変更されている場合は、同じポートに複数のサイトがバインドされていると、ギャラリーのスナップショットが SSL サイトに対して正しく機能しない問題があることに注意する必要があります。 ポート443に制限されていませんが、汎用ポート443サイトを例として使用します。これは、最も一般的な使用方法です。

この問題は、2016年 2 2017 月に、Brian 法律 () により、テスト時に年12月に検出され、 Brian 法律 () によってさらに研究されたブログ投稿に再び反映されました https://info.summit7systems.com/blog/bug-report-powerpivot-for-sharepoint-2016-thumbnails-not-generating

PowerPivot ギャラリーでの問題の表示

この投稿では、スナップショットプロセスやログエントリの詳細については説明されていません (詳細については、Brian のブログを参照してください)。または、ULS ログを参照してください。 1万フィートのビューを次に示します。

  1. ユーザーが新しい PowerPivot ブックをギャラリーにアップロードします。

  2. イベントレシーバーがファイルを検出し、そのファイルがスナップショットに対して有効であるかどうかを検出します。

  3. SharePoint は、次のサンプルのような URL を使用して、ブック内の関連する各アイテムに対して ExcelRest .aspx を呼び出します。

    https:// localhost / _ vti _ bin/excelrest .aspx/PowerPivot% 20gallery/GenericWorkbook.xlsx/model¥ Sheets (' Sheet1 ')

  4. 上記の呼び出しの一部として、ドキュメントの完全な URL が、ドキュメントをアップロードしたユーザーの代わりに OOS への要求と共に送信されます。 ("Localhost" は OOS の有効な URL ではないので、完全な URL を要求の一部として送信し、OOS はスナップショットを取得する場所を知っていることを認識します。)

  5. Office Online Server はブックを読み込み、スナップショットを取得し、それらを SharePoint WFE サーバーに返します。

  6. スナップショットはドキュメントに適用されます。

問題

新しいスナップショットプロセスによって、ポートを共有 固有の証明書を使用する SSL サイトで問題が発生します。 それぞれが一意の SSL 証明書と localhost 呼び出しを持つ複数の一意の Url を組み合わせると、IIS を使用して、要求にピンする証明書を調べていくことができます (localhost であるため、通常は最初の1行になります)。 複数の SharePoint web フロントエンド (WFE) が関与しているシナリオでは、認証のダブルホップを回避するために、製品チームが localhost を利用することをオプトインしていました。 この操作が行われていない場合は、SharePoint WFE サーバー間で Kerberos の制限付き委任 (KCD) を構成して、複雑な構成が行われないようにする必要があります。これは、ギャラリーのスナップショットを適切に機能させるためにのみ使用します。

SharePoint ULS ログには、次のようなエラーの詳細が表示されます。

00/00/2017 00:00:00:00 w3wp.exe (0xXXXX) 0x18A8 PowerPivot
Service Unknown 46 Medium Capturing Report Gallery snapshot information
from the following URL:
https://localhost/_vti_bin/ExcelRest.aspx/PowerPivot
Gallery/GenericWorkbook.xlsx/model/Sheets 37abef9d-92a8-20b9-17bb-d369b513965b

00/00/2017 00:00:00:00 w3wp.exe (0xXXXX) 0x18A8 PowerPivot
Service Unknown 46 High Snapshot <strong>Exception: Unable to take snapshots or
get details of the file: https://ssl.contoso.com/PowerPivot
Gallery/GenericWorkbook.xlsx from the uri:
https://localhost/_vti_bin/ExcelRest.aspx/PowerPivot
Gallery/GenericWorkbook.xlsx/model/Sheets. 37abef9d-92a8-20b9-17bb-d369b513965b

00/00/2017 00:00:00:00 w3wp.exe (0xXXXX) 0x18A8 PowerPivot
Service Unknown 46 <strong>High Snapshot Exception: Ensure localhost uris are
allowed</strong>. 37abef9d-92a8-20b9-17bb-d369b513965b

00/00/2017 00:00:00:00 w3wp.exe (0xXXXX) 0x18A8 PowerPivot
Service Report Gallery 99 High <strong>EXCEPTION: System.Net.WebException: The
underlying connection was closed: An unexpected error occurred on a
send</strong>. <<Truncated stack>> 37abef9d-92a8-20b9-17bb-d369b513965b

このことを絞り込むために複数回試行していますが、ssl.contoso.com の証明書ではなく、最初のサイトバインド証明書をリスト (my "セカンダリ" SSL サイト) に読み込もうとするスナップショットプロセスが表示されることがあります。 Localhost 呼び出しのため、IIS は要求に対してどの証明書をどの証明書に対しても混同しないようにします。 この問題は、他のすべてが適切かつ機能的に構成されているファームに固有のものですが、このシナリオだけに限定されるわけではありません。 これは、最も一般的な (および基本的な) 構成としてのみ発生します。

製品チームは、これが設計によるものであり、SharePoint および Office Online Server の製品の制限によって変更されることはないと判断しました。

回避策

  • ワイルドカード証明書を使用できます。 これで、これまでに説明した唯一の回避策があります。 サイト用のワイルドカード証明書を使用すると、複数の SSL ホストヘッダーサイトを利用でき、ギャラリーのスナップショットが機能します (これはテスト済みで、正常に動作していることが確認されています)。 この場合も、スナップショットが機能するように、他のすべてが適切に構成されていることを前提としています。 この時点では、すべてのユーザーにとって実用的ではありませんが、サイト SSL を保持し、機能スナップショットを持つことができることを認識しています。

注意

このソリューションを実装する前に、ワイルドカード証明書を使用することに関するすべての側面を調べて、それらを使用するリスクと報奨を完全に通知するようにしてください。

その他のオプション

  • ホストヘッダーと証明書を使用して、IP 固有のバインド (通常は、サイト固有の SSL 証明書と IP 固有のバインドを使用しない) を使用して、使用状況を1つの SSL サイトに制限できます。

  • PowerPivot ギャラリーのすべてを一緒に使用することを中止します。 PowerPivot ソリューションが web アプリに展開されていて、そのフィーチャーがサイト上でアクティブ化されている限り、任意のドキュメントライブラリで PowerPivot ブックのデータ更新をスケジュールすることができます。

  • SSL サイトを HTTP に変換します。 (ブックをホストするサイトだけでもかまいませんか)。

  • PowerPivot ギャラリーの既定のビューに "すべてのドキュメント" を設定します。

    1. サイト所有者をリストに移動します。
    2. >リボンメニューの [ライブラリの設定] をクリックします。
      [ライブラリの設定] メニュー項目を表示する SharePoint メニュー
    3. [ ビュー ] セクションまでスクロールし、[ すべてのドキュメント ] をクリックします。
      SharePoint ライブラリの設定オプション
    4. [ 既定のビューを作成する ] ボックスをオンにして、[OK] をクリックします。
      既定の設定のチェックボックス
  • PowerPivot ギャラリーの Silverlight ビューを削除することで、上記の手順をさらに一歩進めることができます。

    • (前述の「すべてのドキュメントを既定のビューに設定する」の手順を実行してください)

      1. サイト所有者をリストに移動します。
      2. >リボンメニューの [ライブラリの設定] をクリックします。
        [ライブラリの設定] メニュー項目を表示する SharePoint メニュー
      3. [ビュー] セクションまで下にスクロールし、3つの PowerPivot Silverlight ビュー "Gallery"、"シアター"、"カルーセル" のいずれかをクリックします。
        SharePoint ライブラリの設定オプション2
      4. [削除] をクリックします。
        SharePoint の [削除] ボタンの画像
  • PowerShell を使用して追加のビューを削除したり非表示にしたりすることもできます (以下のサンプルスクリプトが添付されています)。

    • サンプルスクリプトを削除して非表示にする

      注意

      現在の PowerPivot ギャラリーでは、ビューを無効化または削除しても、スナップショットの取得を続行します。 スナップショットの作成を中止するには、ギャラリーを通常のドキュメントライブラリに置き換える以外に方法はありません。 PowerPivot 機能をサイトに展開したままにしておくと、通常どおりにデータの更新をスケジュールすることができます。 これらのスクリプトは、必要なファームで使用する前に、開発環境で頻繁にテストすることを強くお勧めします。

この記事では、SharePoint 2016 の PowerPivot Gallery スナップショットに固有の問題について説明します。また、他の製品を参照したり参照したりすることはありません。 他のバージョンの SharePoint で同様のエラーが表示される場合は、ソリューション/推奨事項の一覧が役にはないため、問題に関連していません。 この記事で提供されている PowerShell スクリプトは、Microsoft による保証または warrantee のないテスト用のサンプルとして提供されています。