Função Servidor Web (IIS)
Atualizado: janeiro de 2008
Aplica-se a: Windows Server 2008
O Windows Server® 2008 oferece uma plataforma unificada de publicação na Web que integra os Serviços de Informações da Internet (IIS), ASP.NET e Windows Communication Foundation. A versão 7.0 do IIS é um importante aprimoramento feito no servidor Web atual do IIS e tem um papel central na integração de tecnologias de plataforma Web.
O que o IIS 7.0 faz?
Estes são os principais pilares da versão 7.0 do IIS:
-
Modelo de extensibilidade flexível que possibilita uma personalização eficiente
-
Ferramentas eficazes de diagnóstico e solução de problemas
-
Administração delegada
-
Segurança avançada e superfície de ataques reduzida através de personalização
-
Verdadeira implantação xcopy de aplicativos
-
Serviços integrados de gerenciamento de integridade e de aplicativo para Windows Communication Foundation (WCF)
-
Ferramentas de administração aprimoradas
Esses pilares ajudam a criar uma plataforma unificada para que o IIS 7.0 ofereça um modelo simples e consistente de soluções Web para desenvolvedores e administradores.
Modelo de extensibilidade flexível que possibilita uma personalização eficiente
Com o IIS 7.0, os desenvolvedores podem estender o IIS para oferecer funcionalidade personalizada de maneiras novas e mais eficientes. A extensibilidade do IIS 7.0 inclui um conjunto de interface de programação de aplicativo (API) de servidor com núcleo totalmente novo que permite desenvolver módulos de recursos tanto em código nativo (C/C++) quanto em código gerenciado (linguagens como C# e Visual Basic 2005, que usam o .NET Framework).
O IIS 7.0 também possibilita a extensibilidade de conjuntos de recursos de ferramentas de administração, configuração, scripts e logs de eventos, oferecendo a desenvolvedores uma plataforma de servidor completa para o desenvolvimento de extensões de servidor Web.
Ferramentas eficazes de diagnóstico e solução de problemas
Com o IIS 7.0, os desenvolvedores e profissionais de TI são capazes de solucionar problemas em sites e aplicativos mais facilmente. Ele oferece uma visualização clara de informações de diagnóstico internas sobre o IIS, além de coletar e reproduzir eventos de diagnóstico detalhados que ajudam a solucionar problemas em servidores.
Administração delegada
O IIS 7.0 permite que os responsáveis por hospedar ou administrar sites ou serviços WCF deleguem controle administrativo para desenvolvedores ou proprietários de conteúdo, o que reduz o custo de propriedade e o trabalho do administrador. Novas ferramentas de administração são fornecidas para dar suporte a esses recursos de delegação.
Segurança avançada e superfície de ataques reduzida através de personalização
É possível controlar quais recursos devem ser instalados e executados no servidor Web. O IIS 7.0 é composto por mais de 40 módulos de recursos separados Cada módulo de recursos pode ser instalado de forma independente no servidor para diminuir a superfície de ataque do servidor e a sobrecarga administrativa quando não forem necessários. Para obter mais informações sobre os vários módulos de recursos, consulte Módulos do IIS 7.0 (http://go.microsoft.com/fwlink/?LinkId=68740 - essa página pode estar em inglês).
Verdadeira implantação xcopy de aplicativos
O IIS 7.0 permite armazenar definições de configuração do programa em arquivos web.config, o que simplifica bastante o uso do comando xcopy para copiar aplicativos entre vários servidores Web front-end, desse modo evitando problemas de replicação e sincronização manual, operações caras e propensas a erros.
Gerenciamento de aplicativo e de integridade para serviços WCF
Para aperfeiçoar o desenvolvimento e a hospedagem de serviços WCF através de muitos protocolos, o Windows Server 2008 inclui o WAS (Serviço de Ativação do Windows), que dá suporte à ativação conectável de ouvintes de protocolos arbitrários. O WAS oferece todos os tipos de aplicativos ativados por mensagem com gerenciamento inteligente de recursos, ativação de processos sob demanda, monitoramento de integridade e detecção de falhas e reciclagem automáticas. O WAS baseia-se no modelo de processamento de solicitações do IIS 6.0.
Ferramentas de administração aprimoradas
O IIS 7.0 apresenta uma nova interface de usuário orientada a tarefas e uma nova ferramenta de linha de comando para gerenciar e administrar servidores Web, sites e aplicativos Web. Para obter mais informações, consulte a seção "Ferramentas administrativas" em Que funcionalidade existente está sendo alterada? neste tópico.
Quem estaria interessado neste recurso?
Qualquer empresa ou organização que hospeda ou desenvolve sites ou serviços WCF pode se beneficiar das melhorias feitas no IIS 7.0.
Você deve reler este tópico, e a documentação de apoio adicional sobre o IIS 7.0, caso faça parte de um dos seguintes grupos:
-
Planejadores e analistas de TI que estejam avaliando o produto tecnicamente
-
Planejadores e designers corporativos de TI para organizações
-
Profissionais de TI que implantam ou administram o IIS
-
Desenvolvedores que criam sites ou serviços WCF
-
Provedores de serviços de Internet (ISPs) ou organizações semelhantes que oferecem hospedagem na Web
Há considerações especiais?
O Firewall do Windows fica ativado por padrão
O Firewall do Windows fica habilitado por padrão no Windows Server 2008. Durante a instalação da função Servidor Web (IIS), são adicionadas as seguintes regras de entrada do Firewall do Windows para permitir o tráfego dos serviços de função selecionados:
-
Se você instalar serviços de função relacionados aos protocolos HTTP e HTTPS, será adicionada uma regra ao Firewall do Windows para permitir o tráfego de HTTP na porta 80 e de HTTPS na porta 443. Essas regras aparecem na lista do Firewall do Windows como Tráfego HTTP de Entrada dos Serviços da World Wide Web e Tráfego HTTPS de Entrada dos Serviços da World Wide Web. Elas são ativadas automaticamente.
-
Se você instalar serviços de função relacionados ao protocolo FTP, será adicionada uma regra ao Firewall do Windows para permitir o tráfego de FTP na porta 21. Essa regra aparece na lista do Firewall do Windows como Tráfego de Entrada do Servidor FTP. Ela é ativada automaticamente.
-
Se você instalar o Serviço de Gerenciamento, será adicionada uma regra ao Firewall do Windows para permitir o tráfego do serviço na porta 8172. Essa regra é exibida na lista do Firewall do Windows como Tráfego de Entrada do Serviço de Gerenciamento Web. Ela deve ser ativada pelo administrador do servidor.
Que funcionalidade existente está sendo alterada?
Configuração
O IIS 7.0 apresenta alguns aprimoramentos importantes na forma como os dados de configuração são armazenados e acessados. Um dos principais objetivos do lançamento do IIS 7.0 é possibilitar a configuração distribuída de configurações do IIS, o que permite aos administradores especificar definições de configuração em arquivos armazenados com código e conteúdo.
Por que essa alteração é importante?
Através da configuração distribuída, os administradores podem especificar definições de configuração para um site ou aplicativo Web no mesmo diretório que o código ou conteúdo. Ao especificar essas definições em um mesmo arquivo, a configuração distribuída permite que os administradores deleguem a administração de recursos selecionados de sites ou aplicativos Web para que outras pessoas, como desenvolvedores de aplicativos, possam modificar esses recursos. Os administradores também podem bloquear determinadas definições de configuração para que não sejam alteradas por outras pessoas.
Na configuração distribuída, as definições de configuração de um dado site ou aplicativo podem ser copiadas de um computador para outro, à medida que o aplicativo passa do desenvolvimento ao teste e, por fim, à produção. Ela também permite que a configuração de um site ou aplicativo seja compartilhada entre um farm de servidores, onde todos os servidores recuperam o conteúdo e as definições de configuração de um servidor de arquivos.
O que funciona de modo diferente?
A configuração do IIS 7.0 baseia-se no armazenamento de configurações existente do .NET Framework, pelo qual as definições de configuração do IIS podem ser armazenadas junto com a configuração do ASP.NET em arquivos Web.config. Essa mudança oferece um armazenamento de configuração para todas as definições de configuração da plataforma Web que podem ser acessadas por meio de um conjunto de APIs em comum e armazenadas em um formato consistente. Esse sistema do IIS 7.0 também é totalmente extensível, por isso os desenvolvedores podem estender o armazenamento de configuração para incluir uma configuração personalizada com a mesma fidelidade e prioridade que a configuração do IIS.
O IIS 7.0 armazena a configuração global, ou do computador inteiro, no diretório %windir%\system32\inetsrv, em um arquivo chamado ApplicationHost.config. Nesse arquivo há dois principais grupos de seções de configuração:
-
system.applicationHost
-
system.webServer
O grupo da seção system.applicationHost contém a configuração do site, do aplicativo, do diretório virtual e de pools de aplicativos. O grupo da seção system.webServer armazena a configuração de todas as demais configurações, inclusive os padrões Web globais.
A configuração específica de URL também pode ser armazenada em ApplicationHost.config usando-se marcas de <local>. Além disso, o IIS 7.0 pode ler e gravar configuração específica de URL nos diretórios de código ou de conteúdo dos sites e aplicativos Web residentes no servidor em arquivos Web.config, junto com a configuração do ASP.NET.
Como corrigir problemas? Como devo me preparar para esta alteração?
Como o Windows Server 2008 é uma versão principal, você deverá despender algum tempo para se familiarizar com as novas opções de configuração.
Os sites e serviços WCF de produção que, no momento, são executados no IIS 6.0 devem ser totalmente testados antes de passarem para produção no IIS 7.0, embora o IIS 7.0 tenha sido desenvolvido para ser compatível (consulte a seção Preciso alterar algum código existente?)
Se você estiver usando scripts de linha de comando do IIS 6.0 personalizados, é recomendável convertê-los para o IIS 7.0. Consulte a seção Preciso alterar algum código existente? mais adiante neste tópico.
Ferramentas de administração
O IIS 7.0 vem com as seguintes ferramentas de administração novas e completamente remodeladas para gerenciar o IIS:
-
Interface gráfica do usuário, Gerenciador do IIS
-
Ferramenta de linha de comando, appcmd.exe
-
Armazenamento de configuração, baseado no armazenamento de configuração do .NET Framework 2.0, que dá suporte à edição direta de configurações
-
Provedor WMI que pode ler ou alterar configurações no armazenamento de configuração
-
Interface gerenciada, Microsoft.Web.Administration, que expõe as mesmas informações que o provedor WMI
Além disso, o snap-in MMC do IIS 6.0 também é fornecido com o Windows Server 2008 para dar suporte à administração remota e para administrar sites FTP.
Você pode instalar as ferramentas de administração e os componentes do servidor Web separadamente.
O IIS 7.0 também inclui um novo provedor WMI, que torna mais abrangente o acesso por script a toda a configuração do IIS e do ASP.NET.
A interface Microsoft.Web.Administration é uma interface gerenciada de alta segurança usada para recuperar os mesmos dados expostos por scripts WMI.
Os scripts de linha de comando do IIS 6.0 também foram substituídos por uma nova e eficiente ferramenta de linha de comando, chamada appcmd.exe.
Por que essa alteração é importante?
As novas ferramentas de administração dão suporte total à configuração distribuída e à delegação de responsabilidade administrativa. A delegação pode ser muito específica, por isso um administrador pode decidir exatamente quais funções devem ser delegadas, caso a caso.
O que funciona de modo diferente? Há dependências?
As novas ferramentas de administração dão suporte total à nova configuração distribuída do IIS 7.0. Elas também permitem o acesso delegado (não administrativo) à configuração de sites e aplicativos individuais. As ferramentas de administração dão suporte a credenciais de usuários sem privilégios de administração, e até mesmo a credenciais que não são do Windows, para autenticação em um site ou aplicativo específico e para gerenciar a configuração somente nesse escopo.
A nova interface de usuário do Gerenciador do IIS dá suporte à administração remota por HTTP, o que possibilita a administração local, remota ou até mesmo via Internet sem a necessidade de abrir a porta DCOM ou outras portas administrativas no firewall.
As ferramentas de administração são totalmente extensíveis, permitindo que os desenvolvedores criem novos módulos de administração com o .NET Framework para facilmente conectar novos módulos de interface de usuário de administração que funcionam de maneira tão transparente quanto aqueles fornecidos com o IIS 7.0.
Servidor de núcleo
O servidor Web de núcleo do IIS 7.0 inclui algumas mudanças fundamentais em relação ao IIS 6.0. Por exemplo, tanto o código nativo quanto o gerenciado é processado através de um único pipeline de solicitação. Além disso, o IIS 7.0 tem um mecanismo de servidor Web no qual você pode adicionar ou remover componentes, chamados módulos, conforme a necessidade.
Por que essa alteração é importante?
Essas alterações geram uma redução significativa da superfície de ataque e oferecem mais flexibilidade e maior suporte para estender a funcionalidade principal do IIS 7.0 por meio da criação de módulos de código gerenciado. O novo núcleo da Web de processos de operador também dá acesso a todos os eventos de notificação no pipeline de solicitação. O nível de integração é sem precedentes e permite que os recursos atuais do ASP.NET (como a autenticação com base em formulários ou a autorização de URL) sejam usados para todos os tipos de conteúdo da Web.
O que funciona de modo diferente?
Nas versões anteriores do IIS, toda a funcionalidade era interna por padrão e não havia um modo fácil de estender ou substituir essa funcionalidade. Entretanto, o núcleo do IIS 7.0 é dividido em mais de 40 módulos de recursos separados. O núcleo também inclui uma nova API do Win32 para criar módulos de servidor de núcleo. Os módulos de servidor de núcleo são substituições novas e mais eficientes dos filtros e extensões de interface ISAPI, embora esses filtros e extensões ainda sejam suportados no IIS 7.0.
Como todos os recursos de servidor de núcleo do IIS foram desenvolvidos para que o IIS 7.0 possa usar a nova API do Win32 e como módulos de recursos discretos, você pode adicionar, remover ou até mesmo substituir os módulos de recursos do IIS.
O IIS 7.0 também inclui suporte para desenvolvimento de extensões de servidor Web de núcleo usando o .NET Framework. O IIS 7.0 integrou a API IHttpModule existente do ASP.NET, permitindo que seus módulos de código gerenciado acessem todos os eventos no pipeline de solicitação, de todas as solicitações.
Como corrigir esses problemas?
Consulte a seção Preciso alterar algum código existente? neste tópico, principalmente se estiver usando filtros ISAPI.
Diagnóstico
O IIS 7.0 tem dois aprimoramentos importantes que ajudam a diagnosticar e solucionar problemas de sites e aplicativos Web.
Por que essa funcionalidade é importante?
As mudanças em termos de diagnóstico e solução de problemas do IIS 7.0 permitem que um desenvolvedor ou administrador veja, em tempo real, as solicitações em processamento no servidor. Agora é possível filtrar condições de erro difíceis de reproduzir e interceptar o erro automaticamente com um log de rastreamento detalhado.
O que funciona de modo diferente?
O IIS 7.0 vem com uma nova API de Controle e Estado do Tempo de Execução, que fornece informações em tempo real sobre o estado de pools de aplicativos, processos de operador, sites, domínios de aplicativo e até mesmo de solicitações em execução.
Essas informações são expostas através de uma API COM nativa. A própria API é compactada e exposta através do novo provedor WMI, appcmd.exe, e do Gerenciador do IIS. Assim, os usuários podem verificar o status do servidor Web de maneira rápida e fácil, independentemente do ambiente de gerenciamento usado.
O IIS 7.0 também inclui eventos de rastreamento detalhado ao longo de todo o caminho de solicitação e resposta, permitindo que os desenvolvedores rastreiem uma solicitação encaminhada para o IIS, pelo pipeline de processamento de solicitações do IIS, em qualquer código de nível de página existente, e de volta até a resposta. Através desses eventos de rastreamento detalhado, os desenvolvedores conhecem não apenas o caminho de solicitação e todas as informações de erro geradas como resultado da solicitação, mas também o tempo decorrido e outros dados de depuração (que ajudam a corrigir todos os tipos de erros) e quando um sistema deixa de responder.
Para habilitar a coleta desses eventos de rastreamento, o IIS 7.0 pode ser configurado para capturar automaticamente os logs de rastreamento completos de qualquer solicitação específica com base em códigos de tempo decorrido ou de resposta de erro.
Preciso alterar algum código existente?
O IIS 7.0 foi desenvolvido para ser compatível com as versões existentes. Todos os aplicativos ASP, ASP.NET 1.1 e ASP.NET 2.0 existentes devem executar no IIS 7.0 sem nenhuma alteração de código (usando-se o suporte ISAPI compatível).
Todas as extensões ISAPI existentes e a maioria dos filtros ISAPI também continuarão a funcionar sem alterações. No entanto, os filtros ISAPI que utilizam a notificação LER DADOS BRUTOS não têm suporte no IIS 7.0.
Para scripts existentes de Active Directory® Service Interfaces (ADSI) e WMI, o IIS 7.0 oferecerá paridade de recursos com versões anteriores, o que permite executá-los diretamente no novo armazenamento de configuração.
Esta função de servidor está disponível em todas as edições do Windows Server 2008?
O IIS 7.0 está disponível em todas as edições do Windows Server. Não há diferença de funcionalidade entre as edições. O IIS 7.0 está disponível em plataformas de 32 bits e de 64 bits.
Referências adicionais
Para saber mais sobre a função Servidor Web, você pode exibir a Ajuda do servidor. Para fazer isso, abra o Gerenciador do IIS e pressione F1.
Para obter mais informações sobre a função Servidor Web, consulte os tópicos do Windows Server 2008 na Web:
-
Para obter informações sobre o IIS 7.0, consulte Serviços de Informações da Internet (http://go.microsoft.com/fwlink/?LinkId=66138 - essa página pode estar em inglês).
-
Para obter informações sobre como administrar o Servidor Web, consulte o Guia de Operações do IIS 7.0 (http://go.microsoft.com/fwlink/?LinkId=52349 - essa página pode estar em inglês).
-
Para obter informações sobre como estender o Servidor Web usando APIS de extensibilidade, consulte o SDK dos Serviços de Informações da Internet (IIS) 7.0 (http://go.microsoft.com/fwlink/?LinkId=52351 - essa página pode estar em inglês).
