O IIS 7.5 não carrega páginas estáticas em html

9

Existe um IIS 7.5 instalado recentemente em um servidor dedicado. Aplicativo Web do ASP.NET 4.0 copiado para sua pasta, novo site é criado em seu próprio IP no post 80, IIS_IUSR e IUSR têm direitos de leitura / execução na pasta do site, o site é atribuído ao seu próprio pool de aplicativos integrado com 4.0 .NET (Eu tentei pool clássico com os mesmos resultados).

O problema: quando tento acessar este site, o navegador só carrega conteúdo gerado por recursos .NET, como páginas aspx, arquivos .axd, etc. Imagens estáticas, js estáticos, css e arquivos html estão na origem da página mas o IIS não os serve. Dev ferramentas em todos os navegadores reclamam que todos esses recursos estáticos foram enviados pelo servidor com o tipo de conteúdo errado (texto simples em vez de imagem, estilos, etc). O que eu faço de errado?

    
por Kizz 19.05.2011 / 02:42

3 respostas

10

O IIS 7 / 7.5 tem um novo "recurso" - Serviços de Função. A postagem do rsbarro me lembrou que existe um serviço de função responsável pelo conteúdo estático. É Servidor Web / Recursos HTTP Comuns / Conteúdo Estático. Verifique se o ícone Tipos de MIME está presente no Gerenciador do IIS, conforme sugerido pelo rsbarro.

Você precisa instalar o serviço de função Conteúdo Estático se isso não ocorrer. Para fazer isso, selecione o:

  • Gerenciador de servidores
  • Funções
  • nó do servidor Web (IIS) no painel esquerdo
  • vá até a janela Serviços de função
  • veja se o serviço de função Conteúdo estático está instalado.

Pelo que você descreve, este parece ser o seu problema.

Em geral, se o IIS7 não fizer algo que o IIS6 fez, a primeira coisa a verificar é verificar se o serviço de função correspondente está instalado. Espero que isso ajude.

    
por 19.05.2011 / 15:33
6

No IIS, acesse seu site e verifique a seção MIME Types (veja a imagem abaixo). Certifique-se de ver as entradas nessa lista para .js, .css, .html, etc e que elas tenham o tipo MIME adequado especificado. O IIS 7.5 só servirá páginas se houver um tipo MIME especificado. Por padrão, os tipos MIME dessas extensões são configurados no arquivo applicationHost.config , localizado na pasta C:\Windows\system32\inetsrv\config (talvez seja necessário executar o bloco de notas como administrador para exibir o arquivo). Basta procurar por .js e você deve encontrar uma entrada em <mimeMap> no elemento <staticContent> .

Essasconfiguraçõespodemsersubstituídasnoarquivoweb.config.Seforem,aparecerãonoseguintelocalnoweb.config:

<system.webServer><staticContent><removefileExtension=".js" />
    </staticContent>
</system.webServer>

Eu definitivamente começaria verificando lá. Se tudo estiver bem na seção de tipos de MIME, é possível que você tenha um módulo que está interferindo nas solicitações de arquivos estáticos (mas provavelmente apenas se você tiver <modules runAllManagedModulesForAllRequests="true" /> definido na seção <system.webServer> ). Se esse for o caso, removeria todos os módulos configurados no seu web.config e verificaria se você pode abrir os arquivos estáticos e, em seguida, os leu um de cada vez para ver qual módulo está causando o problema. Se você não conseguir descobrir, sugiro postar o conteúdo de seu web.config (ou pelo menos as seções system.web e system.webServer ) na pergunta.

    
por 19.05.2011 / 05:44
1

Eu tive o mesmo problema, mas meu pool de aplicativos estava sendo executado em uma conta de domínio e esse usuário tinha direitos sobre a pasta do site. Meu site processou aspx, mas sem conteúdo estático. O que resolveu o meu problema era adicionar o grupo IIS_IUSRS à política de segurança local chamado de "representar um cliente após autenticação". O grupo IIS_IUSRS tinha minha conta de domínio. Estou executando o servidor iis 7.5 windows 2008.

    
por 30.05.2014 / 04:37