Instantâneos da Galeria PowerPivot falha para sites de cabeçalho de host SSL

Este artigo foi escrito por Rick Andring, engenheiro de escalonamento de suporte.

Se você tiver seguindo os vários threads em problemas e alterações nos instantâneos da galeria do PowerPivot para SharePoint 2016, talvez esteja ciente de um problema em que os instantâneos da Galeria não funcionam corretamente ("ampulheta" infinita) para sites SSL quando há vários sites ligados à mesma porta. Embora não esteja limitado à porta 443, usaremos um site genérico de porta 443 como exemplo aqui, pois é o uso mais comum.

Esse problema foi descoberto em dezembro de 2016 durante o teste e, em seguida, em uma postagem de blog bem pesquisada por Brian leis ( https://info.summit7systems.com/blog/bug-report-powerpivot-for-sharepoint-2016-thumbnails-not-generating ) em fevereiro de 2017.

Exibição do problema na Galeria PowerPivot

Detalhes abrangentes sobre o processo de instantâneo ou as entradas de log não são abordados nesta postagem (você pode ver o blog de Brian acima para a maior parte dele ou acompanhar nos logs ULS). Este é o modo de exibição 10.000 pé:

  1. Um usuário carrega uma nova pasta de trabalho do PowerPivot para a galeria.

  2. O receptor de eventos detecta o arquivo e se é ou não um arquivo válido para um instantâneo.

  3. O SharePoint chama o ExcelRest. aspx para cada item relevante na pasta de trabalho por meio de uma URL semelhante à seguinte amostra:

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

  4. Como parte da chamada acima, a URL completa do documento é enviada com a solicitação para OOS em nome do usuário que carregou o documento. (Obviamente, "localhost" não é uma URL válida para OOS, portanto, também enviamos a URL completa como parte da solicitação e a OOS sabe onde ir para recuperar os instantâneos.)

  5. O servidor do Office Online carrega a pasta de trabalho, recupera os instantâneos e os retorna ao servidor do SharePoint WFE.

  6. Os instantâneos são aplicados ao documento.

O problema

O novo processo de instantâneo causa um problema para sites SSL que compartilham uma porta e usam certificados exclusivos. Ao combinar várias URLs exclusivas, cada uma com seus próprios certificados SSL exclusivos e chamadas de localhost, você deve ficar confuso com o que o certificado deve fixar à solicitação (uma vez que é localhost, ele recebe a primeira linha em geral). Em um esforço para evitar um salto duplo de autenticação em um cenário onde mais de um WFE (front-end da Web do SharePoint) está envolvido, a equipe de produto optou por usar localhost. Se isso não acontecer, a delegação restrita de Kerberos (KCD) precisaria ser configurada entre os servidores do WFE do SharePoint para evitar uma configuração muito complicada, apenas para que os instantâneos da Galeria funcionem corretamente.

Nos logs ULS do SharePoint, você verá um conjunto de entradas semelhantes aos seguintes detalhes da falha:

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

Durante nossas várias tentativas de reduzir isso, poderíamos ver o processo de instantâneo que tentava carregar o primeiro certificado associado ao site em nossa lista (para meu site de "secundário" do SSL) em vez do certificado para o ssl.contoso.com. Devido à chamada de localhost, o IIS é confuso (obviamente) sobre qual certificado deve ser entregue para a solicitação. Esse problema é específico para farms em que todo o resto está configurado corretamente e funcional, mas não está limitado apenas a esse cenário. Isso é apenas uma configuração mais comum (e básica).

A equipe do produto determinou que isso é um design e não será alterado devido às limitações do produto com o SharePoint e o servidor do Office Online.

A solução alternativa

  • Você pode usar um certificado curinga. Esta é a única solução possível que descobrimos até agora. Com um certificado curinga para seus sites, você pode usar vários sites de cabeçalho de host SSL e seus instantâneos de galeria funcionarão (isso foi testado e confirmado o trabalho). Mais uma vez, isso está supondo que tudo o que está configurado corretamente para que os instantâneos funcionem. Percebemos que não é viável para todos, mas é apenas a opção de manter os sites SSL e ter instantâneos funcionais nesse ponto.

Observação

Certifique-se de Pesquisar todos os aspectos de usar certificados curinga antes de implementar esta solução para que você seja totalmente informado sobre os riscos e recompensas de usá-los.

Outras opções

  • Você pode restringir o uso para um site do SSL com cabeçalho de host e certificado e nenhuma associação específica de IP (certificados SSL específicos do site e associações específicas de IP geralmente passam à mão).

  • Pare de usar a galeria do PowerPivot juntos. Você pode agendar atualizações de dados para pastas de trabalho do PowerPivot em qualquer biblioteca de documentos, desde que a solução PowerPivot seja implantada no aplicativo Web e os recursos sejam ativados no site.

  • Converta seus sites de SSL para HTTP. (Talvez até apenas os sites que hospedam pastas de trabalho?)

  • Defina "todos os documentos" como o modo de exibição padrão na Galeria PowerPivot:

    1. Navegue até a lista um proprietário de site.
    2. Clique em " > configurações da biblioteca" no menu faixa de opções.
      Menu do SharePoint mostrando item de menu de configurações da biblioteca
    3. Role para baixo até a seção modos de exibição e clique em todos os documentos.
      Opções de configurações da biblioteca do SharePoint
    4. Marque a caixa tornar o modo padrão e clique em "OK"
      A caixa de seleção configuração padrão
  • Você pode seguir as etapas acima, excluindo os modos de exibição do Silverlight na Galeria PowerPivot:

    • ("Definir" todos os documentos para a seção de modo de exibição padrão acima primeiro)

      1. Navegue até a lista um proprietário de site.
      2. Clique em " > configurações da biblioteca" no menu faixa de opções.
        Menu do SharePoint mostrando item de menu de configurações da biblioteca
      3. Role para baixo até a seção "modos de exibição" e clique em qualquer um dos 3 modos de exibição do PowerPivot Silverlight "Gallery", "teatro" e "carrossel".
        Opções de configurações da biblioteca do SharePoint
      4. Clique em "excluir".
        Imagem de botão de exclusão do SharePoint
  • Você também pode excluir/ocultar as exibições extras com o PowerShell (scripts de exemplo anexados abaixo):

    • Excluir e ocultar scripts de exemplo

      Observação

      Para suas galerias atuais do PowerPivot, elas continuarão tentando fazer instantâneos, mesmo se você desabilitar/excluir os modos de exibição. A única maneira de impedir que eles tentem criar instantâneos é substituir a Galeria por uma biblioteca de documentos normal. Contanto que você mantenha os recursos do PowerPivot implantados no site, você ainda poderá agendar atualizações de dados como de costume. É altamente recomendável testar esses scripts extensivamente em um ambiente de desenvolvimento antes de usá-los em um farm que importa.

Este artigo aborda um problema específico dos instantâneos da Galeria PowerPivot no SharePoint 2016 e não se refere ou faz referência a nenhum outro produto. Se você vir erros semelhantes em outras versões do SharePoint, a lista de soluções/recomendações aqui não ajudará você e não será relevante para o seu problema. Os scripts do PowerShell fornecidos neste artigo são fornecidos como exemplos de teste sem garantias ou garantidos pela Microsoft.