O Internet Explorer não consegue abrir documento do Office a partir de um Web site SSL

Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sintomas
Quando tenta abrir ou transferir um documento do Microsoft Office (ficheiro .doc, .xls, .ppt, etc.) a partir de um Web site seguro no Internet Explorer, poderá receber uma das seguintes mensagens de erro, apesar de o documento estar disponível e ser transferido do servidor:

Mensagem de erro 1

O Internet Explorer não consegue transferir ficheiro de servidor.
O Internet Explorer não conseguiu abrir este site da Internet. Não é possível encontrar o site pedido ou o mesmo não está disponível. Volte a tentar mais tarde.
Mensagem de erro 2

Não é possível apresentar a página.
De momento, a página que procura não está disponível. O Web site poderá estar com problemas técnicos ou talvez seja necessário ajustar as definições do browser.
Não é possível localizar o servidor ou erro de DNS.
Mensagem de erro 3

Nome da aplicação do Office não consegue abrir o ficheiro.
Mensagem de erro 4

O Publisher não consegue localizar o ficheiro que especificou.
O problema ocorre se o servidor estiver a utilizar camada segura de sockets (SSL, Secure Sockets Layer) e tiver adicionado um ou ambos os cabeçalhos de HTTP que se seguem à mensagem de resposta:
Pragma: no-cacheCache-control: no-cache,max-age=0,must-revalidate				
Causa
Para que o Internet Explorer abra os documentos no Office (ou qualquer servidor de documentos ActiveX independente [out-of-process]), o Internet Explorer tem de guardar o ficheiro no directório de cache local e pedir à aplicação associada que carregue o ficheiro utilizando IPersistFile::Load. Se o ficheiro não estiver guardado em disco, esta operação falha.

Quando o Internet Explorer comunica com um Web site seguro através de SSL, aplica todos os pedidos no-cache. Se o cabeçalho ou cabeçalhos estiverem presentes, o Internet Explorer não coloca o ficheiro em cache. Consequentemente, o Office não consegue abrir o ficheiro.
Resolução
Os Web sites que pretendam permitir este tipo de operação devem remover o cabeçalho ou cabeçalhos no-cache.
Ponto Da Situação
Este comportamento ocorre por predefinição.
Mais Informação
Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Os ficheiros associados ao próprio Internet Explorer (incluindo ficheiros .txt, .html, .gif, .jpg, .xml, etc.) geralmente não apresentam este problema. Os ficheiros associados a aplicações que não sejam do Office poderão apresentar este problema ou não, consoante a aplicação.

Os programadores da Web devem ter em conta que alguns firewalls e programas e segurança poderão adicionar estes cabeçalhos automaticamente a todas as respostas de HTTP a enviar. Mesmo que não tenha configurado o servidor da Web, a extensão ISAPI (Internet Server Application Programming Interface) ou o script ASP (Active Server Pages) de forma a devolver estes cabeçalhos, o seu site poderá incluí-los por predefinição. Consulte o administrador de segurança ou do firewall para determinar se é este o caso e debata os riscos de segurança para a empresa se optar por desactivar esta opção de forma a permitir a colocação em cache destes ficheiros.

Passos para reproduzir o comportamento

  1. Na pasta Wwwroot do servidor do IIS, crie um novo ficheiro ASP. Atribua o nome Testnocache.asp ao ficheiro e adicione o seguinte código ao mesmo:
    <% Response.ContentType = "application/msword" Response.AddHeader "Cache-control", "no-cache"%><HTML><BODY>Ficheiro de teste carregado no Microsoft Word</BODY></HTML>					
  2. Configure o servidor do IIS de forma a utilizar SSL.
  3. Num sistema cliente que tenha o Word instalado, navegue para o ficheiro ASP utilizando HTTPS, da seguinte forma:
    https://[nome_servidor]/testnocache.asp
    Poder-lhe-á ser pedido para abrir ou guardar o ficheiro em alguns sistemas. Independentemente da opção escolhida (ou caso não seja apresentada nenhuma mensagem), recebe uma mensagem de erro e não consegue abrir nem guardar o ficheiro.
  4. Remova a linha AddHeader do ficheiro ASP e navegue para o URL, no cliente. O documento é aberto no Word.
Referências
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
248107 Creating server certificates using Certificate Services Web forms
Propriedades

ID do Artigo: 316431 - Última Revisão: 12/07/2015 08:42:30 - Revisão: 7.1

  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 6.0
  • kbnosurvey kbarchive kbprb KB316431
Esta informação foi útil?