PowerPivot сбой снимков для сайтов хост-заголовок SSL

Эта статья была написана Риком Andring,инженером по эскалации поддержки.

Если вы следите за несколькими потоками по вопросам и изменениям в PowerPivot для снимков галереи SharePoint 2016, вы можете быть осведомлены о проблеме, из-за которой снимки галерей не работают должным образом (бесконечные "песочные часы") для сайтов SSL, когда существует несколько сайтов, связанных с одним портом. Хотя это не ограничивается портом 443, мы будем использовать общий сайт порта 443 в качестве примера здесь, как это наиболее частое использование.

Эта проблема была обнаружена еще в декабре 2016 г. во время тестирования и снова в хорошо исследованном блоге, опубликованном в Брайане Юри (Brian Laws) в феврале https://info.summit7systems.com/blog/bug-report-powerpivot-for-sharepoint-2016-thumbnails-not-generating 2017 г.

Отображение проблемы в PowerPivot Gallery

Подробные сведения о процессе снимка или записи журнала не охватываются в этой должности (вы можете увидеть блог Брайана выше для большинства из них или следовать вместе в журналах ULS). Вот представление 10 000 футов:

  1. Пользователь загружает новую книгу PowerPivot в Галерею.

  2. Приемник событий обнаруживает файл и является ли он допустимым для снимка.

  3. SharePoint вызывает ExcelRest.aspx для каждого соответствующего элемента в книге по URL-адресу, аналогичному следующему примеру:

    https://localhost / _ vti _ bin/ExcelRest.aspx/PowerPivot%20Gallery/GenericWorkbook.xlsx/Model/Sheets ('Sheet1')

  4. В рамках вышеуказанного вызова полный URL-адрес документа отправляется с запросом в OOS от имени пользователя, который загрузил документ. (Очевидно, что "localhost" не является допустимым URL-адресом для OOS, поэтому мы также отправляем полный URL-адрес в рамках запроса, и OOS знает, куда идти, чтобы получить снимки.)

  5. Office Online Server загружает книгу, извлекает снимки и возвращает их на сервер WFE SharePoint.

  6. Снимки применяются к документу.

Проблема

Новый процесс снимка вызывает проблемы для сайтов SSL, которые разделяют порт и используют уникальные сертификаты. Когда вы объединяете несколько уникальных URL-адресов, каждый из которых имеет свои уникальные сертификаты SSL и вызовы localhost, вы запутываете iiS в том, какой сертификат прикрепить к запросу (так как он локальный, он обычно принимает первый в строке). Чтобы избежать двойного перехода проверки подлинности в сценарии, в котором задействовано несколько веб-лицевой части SharePoint (WFE), группа продуктов решила использовать localhost. Если этого не было на месте, необходимо настроить ограниченное делегированное делегирования Kerberos (KCD) между серверами WFE SharePoint, чтобы избежать чрезмерной конфигурации, только для правильного функционирования снимков галереи.

В журналах ULS SharePoint вы увидите набор записей, аналогичных следующему сбою:

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) вместо сертификата для ssl.contoso.com. Из-за вызова localhost IIS путают (очевидно) о том, какой сертификат раздать для запроса. Эта проблема специфика для ферм, где все остальное настроено правильно и функционально, но не ограничивается только этим сценарием. Это самая распространенная (и базовая) конфигурация.

Группа продуктов определила, что это по дизайну и не будет изменено из-за ограничений продукта с SharePoint и Office Online Server.

Обходное решение

  • Вы можете использовать сертификат под диктовки. Это единственный возможный обходной путь, который мы нашли до сих пор. С помощью сертификата под диктовки для сайтов можно использовать несколько сайтов заголовки узлов SSL, а снимки галерей будут работать (это проверено и подтверждено рабочим). Опять же, это предполагает, что все остальное правильно настроено для функции снимков. Мы понимаем, что он не является жизнеспособным для всех, но это единственный вариант, чтобы сохранить сайты SSL и функциональные снимки на данный момент.

Примечание

Убедитесь, что перед реализацией этого решения вы исследуете все аспекты использования сертификатов под диктовки, чтобы получить полную информацию о рисках и преимуществах их использования.

Другие параметры

  • Вы можете ограничить свое использование одним SSL-сайтом с заголовщиком узла и сертификатом, а также без привязки для IP-адресов (сертифицировать SSL на определенном сайте и связывать ip-адрес обычно идут рука об руку).

  • Прекратите использовать PowerPivot все вместе. Можно запланировать обновление данных для PowerPivot книг в любой библиотеке документов до тех пор, пока PowerPivot развертывается в веб-приложении и активируются функции на сайте.

  • Преобразование сайтов SSL в HTTP. (Может быть, даже только на сайтах, которые хост книги?)

  • Установите "Все документы" для представления по умолчанию в PowerPivot Gallery:

    1. Перейдите к списку владельца сайта.
    2. Нажмите кнопку "Библиотека" > "Параметры библиотеки" из меню ленты.
      Меню SharePoint с элементом меню Параметры библиотеки
    3. Прокрутите вниз в раздел Представления и нажмите кнопку Все документы.
      Параметры параметров библиотеки SharePoint
    4. Проверьте поле Представление по умолчанию и нажмите кнопку "ОК"
      Контрольный ящик параметра по умолчанию
  • Далее можно сделать следующий шаг, удалив представления Silverlight в PowerPivot Gallery:

    • (Сначала установите раздел "Все документы" в представлении по умолчанию)

      1. Перейдите к списку владельца сайта.
      2. Нажмите кнопку "Библиотека" > "Параметры библиотеки" из меню ленты.
        Меню SharePoint с элементом меню Параметры библиотеки
      3. Прокрутите вниз в раздел "Просмотры" и нажмите на любой из 3-PowerPivot представлений Silverlight "Gallery", "Theatre" и "Carousel".
        Параметры библиотеки SharePoint 2
      4. Нажмите кнопку "Удалить".
        Изображение кнопки SharePoint Delete
  • Вы также можете удалить или скрыть дополнительные представления с помощью PowerShell (примеры сценариев, присоединенных ниже):

    • Удаление и сокрытие примеров сценариев

      Примечание

      Для текущих PowerPivot галереи они будут по-прежнему пытаться делать снимки, даже если вы отключите или удалите представления. Единственный способ остановить попытку создания снимков — заменить галерею обычной библиотекой документов. До тех пор, пока PowerPivot функции, развернутые на сайте, вы все равно сможете планировать обновление данных в обычном режиме. Мы настоятельно рекомендуем тщательно протестировать эти скрипты в среде разработки, прежде чем использовать их на важной ферме.

В этой статье описывается проблема, специфическая для PowerPivot Gallery Snapshots в SharePoint 2016, и она не ссылается на другие продукты и не ссылается на них. Если вы видите похожие ошибки в других версиях SharePoint, список решений и рекомендаций здесь не поможет вам и не относится к вашей проблеме. Скрипты PowerShell, предоставленные в этой статье, предоставляются в качестве образцов для тестирования без гарантии или гарантийного обеспечения корпорацией Майкрософт.