PowerPivot instantanés de la galerie d’images échouent pour les sites d’en-tête d’hôte SSL

Cet article a été rédigé par l’ingénieur de l’escalade du support technique, Andring Andring.

Si vous avez suivi plusieurs threads sur les problèmes et les modifications apportées au PowerPivot pour les captures instantanées de la galerie SharePoint 2016, vous savez peut-être qu’il existe un problème dans lequel les captures instantanées de galerie ne fonctionnent pas correctement (infini « sablier ») pour les sites SSL lorsqu’il existe plusieurs sites liés au même port. Bien qu’il ne soit pas limité au port 443, nous allons utiliser un site de port 443 générique comme exemple ici, car il s’agit de l’utilisation la plus courante.

This issue was discovered back in December 2016 during testing and again in a well-researched blog post by Brian Laws ( ) in February https://info.summit7systems.com/blog/bug-report-powerpivot-for-sharepoint-2016-thumbnails-not-generating of 2017.

Screenshot shows the issue in the PowerPivot Gallery.

Les détails détaillés sur le processus de capture instantanée ou les entrées du journal ne sont pas couverts dans ce billet (vous pouvez voir le blog de Brian ci-dessus pour la plupart d’entre elles ou suivre dans les journaux ULS). Voici la vue de 10 000 pieds :

  1. Un utilisateur télécharge un nouveau PowerPivot dans la galerie.

  2. Le récepteur d’événements détecte le fichier, et s’il s’agit d’un fichier valide pour une capture instantanée.

  3. SharePoint appelle ExcelRest.aspx pour chaque élément pertinent du livre de calcul via une URL similaire à l’exemple suivant :

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

  4. Dans le cadre de l’appel ci-dessus, l’URL complète du document est envoyée avec la demande à OOS pour le compte de l’utilisateur qui a téléchargé le document. (Évidemment, « localhost » n’est pas une URL valide pour OOS, donc nous envoyons également l’URL complète dans le cadre de la demande et OOS sait où aller pour récupérer les captures instantanées.)

  5. Office Online Server charge le workbook, récupère les captures instantanées et les renvoie au SharePoint WFE.

  6. Les captures instantanées sont appliquées au document.

Le problème

Le nouveau processus de capture instantanée provoque un problème pour les sites SSL qui partagent un port et utilisent des certificats uniques. Lorsque vous combinez plusieurs URL uniques, chacune avec ses propres certificats SSL uniques et appels localhost, vous vous demandons de ne pas savoir quel certificat épingler à la demande (puisqu’il s’agit de localhost, il prend généralement le premier en ligne). Afin d’éviter un double saut d’authentification dans un scénario où plusieurs serveurs web frontux SharePoint sont impliqués, l’équipe produit a choisi d’utiliser localhost. Si ce n’était pas le cas, la délégation Kerberos contrainte (KCD) doit être configurée entre les serveurs WFE SharePoint pour éviter une configuration surcompilée, juste pour que les captures instantanées de galerie fonctionnent correctement.

Dans les SharePoint uls, vous verrez un ensemble d’entrées semblable à ce qui suit détaillant l’échec :

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

Au cours de nos multiples tentatives de réduire ce nombre, nous avons pu voir le processus de capture instantanée tenter de charger le premier certificat lié au site dans notre liste (pour mon site SSL « secondaire » ) au lieu du certificat pour ssl.contoso.com. En raison de l’appel localhost, IIS n’est (évidemment) pas sûr du certificat à remettre pour la demande. Ce problème est spécifique aux batteries de serveurs où tout le reste est configuré correctement et fonctionnel, mais il n’est pas limité à ce scénario. Il s’agit simplement de la configuration la plus courante (et de base).

L’équipe produit a déterminé qu’il s’agit d’une question de conception et qu’elle ne sera pas modifiée en raison des limitations de produit SharePoint et Office Online Server.

Solution de contournement

  • Vous pouvez utiliser un certificat générique. Il s’agit de la seule solution de contournement possible que nous avons trouvée jusqu’à présent. Avec un certificat générique pour vos sites, vous pouvez utiliser plusieurs sites d’en-tête d’hôte SSL et vos captures instantanées de galerie fonctionneront (cela a été testé et confirmé). Là encore, cela suppose que tout le reste est configuré correctement pour que les captures instantanées fonctionnent. Nous sommes conscients qu’il n’est pas viable pour tout le monde, mais il est uniquement possible de conserver le SSL des sites et d’avoir des captures instantanées fonctionnelles à ce stade.

Notes

Veillez à vous renseigner sur tous les aspects de l’utilisation des certificats génériques avant d’implémenter cette solution afin d’être entièrement informé des risques et des avantages liés à leur utilisation.

Autres options

  • Vous pouvez limiter votre utilisation à un seul site SSL avec un en-tête d’hôte et un certificat, sans liaisons IP spécifiques (les certificats SSL spécifiques au site et les liaisons spécifiques à l’ADRESSE IP vont généralement de pair).

  • Arrêtez d’utiliser PowerPivot galerie d’outils. Vous pouvez planifier des actualisations des données pour les PowerPivot de n’importe quelle bibliothèque de documents tant que la solution PowerPivot est déployée sur l’application web et que les fonctionnalités sont activées sur le site.

  • Convertissez vos sites SSL en HTTP. (Peut-être même uniquement les sites qui hébergent des workbooks ?)

  • Définissez « Tous les documents » sur l’affichage par défaut dans la PowerPivot galerie :

    1. Accédez à la liste d’un propriétaire de site.
    2. Cliquez sur « Bibliothèque » > « Bibliothèque Paramètres » dans le menu du ruban.
      Capture d’écran pour sélectionner l Paramètres bibliothèque sous l’onglet Bibliothèque.
    3. Faites défiler vers le bas jusqu’à la section Affichages, puis cliquez sur Tous les documents.
      Capture d’écran de la section Affichages avec l’élément Tous les documents sélectionné.
    4. Cochez la case « Afficher par défaut », puis cliquez sur « OK »
      Capture d’écran pour cocher la case À afficher par défaut.
  • Vous pouvez aller plus loin en supprimant les vues Silverlight dans la galerie PowerPivot :

    • (Faites en sorte que la section « Tous les documents » soit définie sur l’affichage par défaut » ci-dessus en premier)

      1. Accédez à la liste d’un propriétaire de site.
      2. Cliquez sur « Bibliothèque » > « Bibliothèque Paramètres » dans le menu du ruban.
        Capture d’écran pour sélectionner l Paramètres bibliothèque sous l’onglet Bibliothèque.
      3. Faites défiler la page vers le bas jusqu’à la section « Vues » et cliquez sur l’une des 3 vues Silverlight PowerPivot « Galerie », « Premier » et « Carrousel ».
        Capture d’écran de la section Vues, avec les éléments Galerie, Galerie et Carrousel sélectionnés.
      4. Cliquez sur « Supprimer ».
        Screenshot to select the Delete button in the PowerPivot Gallery.
  • Vous pouvez également supprimer/masquer les affichages supplémentaires avec PowerShell (exemples de scripts joints ci-dessous) :

    • Supprimer et masquer des exemples de scripts

      Notes

      Pour vos galeries PowerPivot, ils continueront à essayer de prendre des instantanés même si vous désactivez/supprimez les affichages. La seule façon de les empêcher de tenter de créer des instantanés consiste à remplacer la galerie par une bibliothèque de documents normale. Tant que vous conservez les fonctionnalités de PowerPivot déployées sur le site, vous pourrez toujours planifier les actualisations des données comme d’habitude. Nous vous recommandons vivement de tester ces scripts de manière approfondie dans un environnement de développement avant de les utiliser sur une batterie de serveurs qui importe.

Cet article traite d’un problème spécifique PowerPivot gallery snapshots dans SharePoint 2016 et ne fait référence à aucun autre produit. Si vous voyez des erreurs similaires dans d’autres versions de SharePoint, la liste des solutions/recommandations ne vous aidera pas et n’est pas pertinente pour votre problème. Les scripts PowerShell fournis dans cet article sont fournis en tant qu’exemples à des tests sans garantie ni garantie de la part de Microsoft.