Windows Server 2012 – Criando site no IIS 8.0
Pessoal,
Publiquei um artigo no Windows8Dicas.com.br, de como criar um site no IIS 8, abaixo a URL:
Windows Server 2012 – Criando site no IIS 8.0
http://www.windows8dicas.com.br/windows8/windows-server-2012-criando-site-no-iis-8-0/1467
Até a próxima!
Ferramenta de troubleshooting de requisições no IIS 7.5 e 8.0
Pessoal,
O PFE Guilherme Carnevale desenvolveu uma ferramenta para troubleshoting de requisições no IIS 7.5 e 8.0, abaixo estão listados os principais recursos, bem como o link para download, veja:
- Listar conexões web atuais
- Reciclagem de Application Pool
- Tirar dump de processos W3WP.exe que não respondem (clicar com o botão direito sobre o nome do processo W3WP.exe)
- Filtrar apenas conexões mais lentas que (5,10,20,30,40,50,60) segundos
- Auto refresh a cada 3 segundos (opcional)
- Salvar conexões em execução para arquivo CSV
- Coleta de dados de performance (10 segundos de intervalo/ 1 minuto de intervalo)
- Coleta de Network Monitor (dados de rede)
- netstat / netstat com filtro por IP
- netsh http (Comandos todos em tela visual)
- Coleta de dados de diagnósticos avançado (Event trace for Windows – ETW)
- APPCMD via modo visual
- Criar e listar backups do IIS
- Ferramenta do Performance Monitor com principais contadores do IIS
- Atalhos para console do IIS, Services e CMD
Clique aqui para fazer o Download do ReqViewer:
Status Code no IIS 7 e IIS 7.5
Pessoal, creio que seja interessante este post, pois através do código de status retornado no browser, pode lhe dar o norte para iniciar um troubleshooting, veja quais são eles:
1xx: Informação
- 100 – Continuar.
- 101 – Protocolos de Alternância.
2xx: Êxito
- 200 – OK. A solicitação do cliente foi bem-sucedida.
- 201 – Criado.
- 202 – Aceito.
- 203 – Informações não autoritativas.
- 204 – Sem conteúdo.
- 205 – Redefinir conteúdo.
- 206 – Conteúdo parcial.
3xx: Redirect
- 301 – Movido permanentemente.
- 302 – Objeto movido.
- 304 – Não modificado.
- 307 – Redirecionamento temporário.
4xx: Erro no cliente
- 400.1 – Cabeçalho de destino inválido.
- 400.2 – Cabeçalho de profundidade inválido.
- 400.3 – Cabeçalho If inválido.
- 400.4 – Cabeçalho de substituição inválido.
- 400.5 – Cabeçalho Translate inválido.
- 400.6 – Corpo de solicitação inválido.
- 400.7 – Comprimento de conteúdo inválido.
- 400.8 – Tempo limite inválido.
- 400.9 – Token de bloqueio inválido.
401: Acesso negado
- 401.1 – Falha no logon.
- 401.2 – Falha no logon devido à configuração do servidor.
- 401.3 – Não autorizado devido à ACL no recurso.
- 401.4 – Falha na autorização pelo filtro.
- 401.5 – Falha na autorização pelo aplicativo ISAPI/CGI.
403: Acesso proibido
- 403.1 – Acesso de execução proibido.
- 403.2 – Acesso de leitura proibido.
- 403.3 – Acesso de gravação proibido.
- 403.4 – SSL necessário.
- 403.5 – SSL 128 necessário.
- 403.6 – Endereço IP rejeitado.
- 403.7 – Certificado de cliente necessário.
- 403.8 – Acesso ao site negado.
- 403.9 – Proibido: Número excessivo de clientes tentando conectar-se ao servidor Web.
- 403.10 – Proibido: Servidor Web configurado para negar o acesso de execução.
- 403.11 – Proibido: Senha alterada.
- 403.12 – Mapeador negou acesso.
- 403.13 – Certificado de cliente revogado.
- 403.14 – Listagem de diretório negado.
- 403.15 – Proibido: As licenças de acesso para cliente excederam os limites do servidor Web.
- 403.16 – Certificado do cliente não é confiável ou é inválido.
- 403.17 – Certificado do cliente expirado ou ainda não está válido.
- 403.18 – Não é possível executar a URL solicitada no pool de aplicativos atual.
- 403.19 – Não é possível executar aplicativos CGI para o cliente neste pool de aplicativos.
- 403.20 – Proibido: Falha de logon do Passport.
- 403.21 – Proibido: Acesso ao código-fonte negado.
- 403.22 – Proibido: Profundidade infinita negada.
- 403.502 – Proibido: Muitas solicitações do mesmo IP do cliente; O limite de restrição de IP dinâmico foi atingido.
404: Página não encontrada
- 404.0 – Não encontrado.
- 404.1 – Site não encontrado.
- 404.2 – Restrição ISAPI ou CGI.
- 404.3 – Restrição de tipo MIME.
- 404.4 – Nenhum manipulador configurado.
- 404.5 – Negado pela configuração de filtragem de solicitações.
- 404.6 – Verbo negado.
- 404.7 – Extensão de arquivo negada.
- 404.8 – Namespace oculto.
- 404.9 – Atributo de arquivo oculto.
- 404.10 – Cabeçalho de solicitação muito longo.
- 404.11 – A solicitação contém sequência de escape dupla.
- 404.12 – A solicitação contém caracteres de bit alto.
- 404.13 – Comprimento de conteúdo muito grande.
- 404.14 – URL de solicitação muito longa.
- 404.15 – Cadeia de caracteres de consulta muito longa.
- 404.16 – Solicitação DAV enviada para o manipulador de arquivo estático.
- 404.17 – Conteúdo dinâmico mapeado para o manipulador de arquivo estático por meio de um mapeamento MIME de curingas.
- 404.18 – Sequência de Querystring negada.
- 404.19 – Negada pela regra de filtragem.
- 404.20 – Muitos segmentos de URL
405: Método não permitido.
406: O navegador do cliente não aceita MIME
408: Tempo limite da solicitação atingido.
412: Falha na pré-condição
5xx: Erro no servidor
- 500.0 – Ocorreu um erro ISAPI ou de módulo.
- 500.11 – O aplicativo está sendo encerrado no servidor Web.
- 500.12 – O aplicativo está ocupado reiniciando no servidor Web.
- 500.13 – O servidor Web está muito ocupado.
- 500.15 – Solicitações diretas para Global.asax não são permitidas.
- 500.19 – Dados de configuração inválidos.
- 500.21 – Módulo não reconhecido.
- 500.22 – Uma configuração ASP.NET httpModules não é aplicável no modo de pipeline gerenciado.
- 500.23 – Uma configuração ASP.NET httpModules não é aplicável no modo de pipeline gerenciado.
- 500.24 – Uma configuração de representação ASP.NET não é aplicável no modo de pipeline gerenciado.
- 500.50 – Erro de regravação durante o tratamento de notificação RQ_BEGIN_REQUEST. Erro de execução de regra de entrada ou de configuração.
501 – Valores de cabeçalho especificam uma configuração que não está implementada.
502 – O servidor Web recebeu uma resposta inválida ao atuar como um gateway ou proxy.
- 502.1 – Tempo limite do aplicativo CGI.
- 502.2 – Gateway incorreto.
503 – Serviço indisponível
- 503.0 – Pool de aplicativos indisponível.
- 503.2 – Limite de solicitação simultâneas excedido.
- 503.3 – Fila do ASP.NET cheia
Instalando IIS 7.5 + FTP com powershell
Olá pessoALL,
Abaixo um dica bem interessante que pode ajudar no deploy automatizado de instalação do IIS 7.5 + FTP, apenas salientando que a instalação do IIS é a Default.
Import-Module servermanager
#Instalação default do IIS + FTP
Add-windowsFeature Web-Server, Web-WebServer, Web-Common-Http, Web-Static-Content, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Health, Web-Http-Logging, Web-Request-Monitor, Web-Security, Web-Filtering, Web-Stat-Compression, Web-Mgmt-Console, Web-Ftp-Server, Web-Ftp-Service, Web-Ftp-Ext
Para validar a instalação abra o browser e digite http://localhost.
Caso tenha necessidade de acrescentar mais alguma coisa na instalação do IIS, deixe um comentário!
Até a próxima.
Erick Albuquerque
Instalando IIS 8 no Windows Server 2012
Pessoal, neste vídeo vamos aprender a instalar o IIS 8 no Windows Server 2012.
Erick Albuquerque | Microsoft MVP
MVP Profile | Twitter | Linkedin | http://iisbrasil.wordpress.com | http://windows8dicas.com.br
Powershell – Script para monitorar eventos de crash/hang de Web Server
Este script pode ser executado tanto no servidor como na parte de cliente, copie o código abaixo e salve como monitorweb.ps1. Apenas salientando que o teste de “ping” é feito a cada 30 segundos, caso não tenha nenhuma resposta da url configurada ou se gerar alguma exceção o e-mail será enviado para sua caixa postal.
——————————————————————————————————————————————————–
function MonitorSite {
param($URL)
$emailFrom = “seuemail@test.com” #digita seu email
$emailTo = “seuemail@test.com” #digita seu email
$smtpServer = “mail.teste.com.br” #entre com o servidor de smtp
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
#$smtp.Credentials = New-Object System.Net.NetworkCredential(“sua conta de smtp”, “senha”);
#Caso seja necessário descomente a linha acima para entrar com as credenciais
trap{
“Failed. Details: $($_.Exception)”
$subject = “Exception Sent from PowerShell”
$body = “Fail`t`t” + “`t`t”+”Failed. Details: $($_.Exception)”
$smtp.Send($emailFrom, $emailTo, $subject, $body)
exit 1
}
$webclient = New-Object Net.WebClient
#some sites may refuse your test if the user agent is not explicit
# $webClient.Headers.Add(“user-agent”, “IE”)
$webclient.Credentials = [System.Net.CredentialCache]::DefaultCredentials
if($webclient.Proxy -ne $null) {
$webclient.Proxy.Credentials = `
[System.Net.CredentialCache]::DefaultNetworkCredentials
}
while (1 -eq 1)
{
$startTime = get-date
$webclient.DownloadString($URL) | Out-Null
$endTime = get-date
#should not slower than 120 seconds
if (($endTime – $startTime).TotalSeconds -ge 120)
{
” TimeOut. “
$subject = “Timeout Sent from PowerShell”
$body = “Timeout`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”
$smtp.Send($emailFrom, $emailTo, $subject, $body)
}
else
{
“Success`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”
}
#ping site every 30 seconds
sleep(30)
}
}
MonitorSite “http://localhost”
——————————————————————————————————————————————————–
Resultado:
Fonte: AsiaTech
Conheça as novidades do IIS 8.0
Após um pouco mais de um mês sem postar nenhum artigo, estamos de volta!! A ausência foi por um bom motivo, eu estava dedicando meu tempo para o projeto do Windows 8 Dicas (http://windows8dicas.com.br) , portal totalmente em Metro Style, com altas dicas de Windows 8 e Windows Server 2012.
Bom agora vamos focar neste artigo, que são as novidades do IIS 8 que veio juntamente com o lançamento do Windows Server 2012, veja abaixo em detalhes as novas features e as que foram melhoradas.
CPU Throttling
CPU Throttling permite que os clientes possam limitar a quantidade de CPU que cada site pode consurmir por CPU, isto é possível configurar por application pool, o que significa que cada site pode ter um limite diferente, se for pensar pelo lado do negócio, quem está comprando pode pagar mais por limites muito mais alto. Apenas salientando que o CPU Throttling não é uma reserva de recursos de CPU e sim uma maneira de limitar a utilização máxima de CPU.

Figura 1 – CPU Throttle
Multicore Scaling on NUMA Hardware
“Non-Uniform Memory Access (NUMA) é um desenho de memória de computador usado no multiprocessamento, onde o tempo de acesso de memória depende da localização de memória em relação a um processador. Sob NUMA, um processador pode acessar sua própria memória local mais rápido do que outros locais de memória, isto é, a memória local para outro processador ou memória compartilhada entre processadores. “
Na versão anterior do IIS era possível alterar o número de núcleos no application pool para aumentar o desempenho, mas no entanto pode chegar a um ponto que o aumento de CPUs pode gerar degradação no desempenho, pois você pode estar usando recursos de outro recurso, com a implementação do NUMA no IIS 8 isto não ocorre, pois existe uma inteligência na distribuição dos recursos.

Figura 2 – Maximum Worker Processes
Centralized SSL Certificate Support: SSL Scalability and Manageability
Essa é uma das novidades, possibilita a centralização de certificados digitais, facilita o gerenciamento em um ambiente que possui milhares de certificados digitais, imagina o trabalho que esse povo tem para administratar certificados digitais servidor por servidor, complicado não? Para utilizar este novo recurso devemos seguir algumas regrinhas, que veremos nos próximos artigos.
Para habilitar este recurso é bem simples, é feito atráves do Server Manager, dentro das features do IIS 8, marque a caixa de Centralized SSL Certificate Support.

Figura 3 – Centralized SSL Certificate Support
IIS 8 FTP Logon Attempt Restrictions
Esta feature é muito interessante, pois é uma implementação a mais nos quesitos de segurança dentro do FTP. Funciona da seguinte forma, quando se configura um FTP a intensão é a troca de arquivos entre 2 pontos diferentes ou N pontos, e muitas vezes este serviço precisar ficar online, o que significa que muitos “hackerzinhos” irão tentar fazer ataques de brute force, primeiro irão testar o acesso na porta 21, tendo sucesso vão pegar um wordlist que tenha milhares de usuários e passwords e começaram a fazer ataques no FTP para tentar descobrir o usuário e senha. Está nova funcionalidade bloqueia tentativas de logon seguidos em um periodo X de tempo, por padrão está configurado como 4 tentativas em 30 segundos. Em próximos artigos veremos está funcionalidade no “live”.
Dynamic IP Address Restrictions
O módulo do Dynamic IP Address Restrictions já existia em outras versãoes do IIS (7 e 7.5), pórem era uma extensão do IIS, ou seja, era necessário fazer o download pelo WPI ou direto pelo site, no IIS 8 ja vem embutido, cabendo ao Administrador fazer a instalação e configurar conforme suas politicas de segurança, além de vim embutido com o IIS 8, foram criados mais alguns recursos, como: Filtragem de IP em modo proxy, ou seja, permite bloquear não somente endereços IPs, mas tambéms pelo cabeçalho “x-forwarded-for”. O Dynamic IP Address Restrictions trabalha de forma parecida com a funcionalidade acima (FTP), pórem o que ele vai bloquear são requests, em um espaço de tempo, ou seja, se eu tiver 20 requests em um periodo de 200ms, o IP será bloqueado! Nós próximos artigos veremos está funcionadade.
Bom pessoal, existe mais algumas outras funcionalidades, que abordaremos de forma prática, pois facilita o entendimento.
Obrigado pela leitura e até a próxima!
Erick Albuquerque | MVP, MCT, MCTS, MCSA, MCITP SA, MCITP EA
http://iisbrasil.wordpress.com | http://windows8dicas.com.br
Anunciado Web Deploy 3.0 Release Candidate!
Foi anunciado no dia 19/04/2012 o Web Deploy 3.0 RC (Release Candidate), está disponível para download nas versões x86/x64. Apenas salientando que ainda não está disponível no Web Platform Installer (WPI).
Bom vamos as novidades:
Publicação & Migração para o IIS 8
Com a chegada do Windows 8 (2012) veio o IIS 8.0, cheio de novos recursos, pensando nisto a Microsoft lançou o WebDeploy com pleno suporte a migração do IIS 6.0, 7.0 e 7.5 para o IIS 8.0.
Backup Automático
Uma das novidades mais interessantes é o backup automático, pois ele permite que seja feito o backup automaticamente a cada nova atualização do web site, ou seja, o Administrador/Desenvolvedor pública alguma coisa que não deveria e/ou algo que está com problemas em produção, através do Web Deploy você pode voltar ao estado anterior.. Apenas uma observação: O próprio desenvolvedor pode fazer isto não necessita do apoio do Administrador de Redes.
PowerShell Cmdlets
Nesta versão do Web Deploy foi lançado com 20 cmdlets, que são os comandos mais comuns utilizados por Administradores/Desenvolvedores no dia a dia, mais detalhes sobres os comandos do Power Shell pode ser acessado aqui.
Parametrização Melhorada
Web Deploy suporta parametrização durante o tempo de implantação, veja mais.
-> Outras features:
Package Web sites and applications
Delegate deployment tasks to non-admins
Simplify deployment for administrators
Migration from IIS 6.0 and IIS7
Synchronization of IIS 6.0 / IIS 7/IIS8.0
Snapshot IIS 7.0 and above
Analysis of Dependencies on IIS 6.0 and above
Troubleshooting and Validation
Differential Synchronization
Easy Scripting through PowerShell
Erick Albuquerque | Microsoft MVP
MVP Profile | Twitter | Linkedin | http://iisbrasil.wordpress.com
Gerenciando Application Pool com PowerShell
Criar Application Pool
Comando: New-WebAppPool IISBRASIL
Figura 1
Reiniciar Application Pool
Comando: Restart-WebAppPool IISBRASIL
Figura 2
Iniciar ApplicationPool
Comando: Start-WebAppPool -Name “IISBRASIL”
Figura 3
Parar ApplicationPool
Comando: Start-WebAppPool -Name “IISBRASIL”
Figura 4
Remover ApplicationPool
Comando: Remove-WebAppPool IISBRASIL
Figura 5
Erick Albuquerque | Microsoft MVP
MVP Profile | Twitter | Linkedin | http://iisbrasil.wordpress.com











