Dica: Aumentando o limite de upload no IIS 7.5


Ao fazer um upload você recebe o erro: HTTP Error 404.13 – CONTENT_LENGTH_TOO_LARGE

Resumindo, você está tentando fazer um upload maior do que o IIS pode suportar por padrão, para sanar este problema é bem simples, pode ser feito pela GUI e/ou linha de comando, utilizando o appcmd.

Acesse o prompt de comando em: Iniciar > executar > cmd > OK

Digite: %windir%\system32\inetsrv\appcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength:52428800

Apenas salientando que o valor 524228800 é em bytes, convertendo para MB ficaria 50MB… Abaixo a formula para o calculo:

50*1024*1024 para converter MB para bytes

 

[]s

Erick Albuquerque

Configurando limites de Web Site


Introdução

A ideia de configurar o limite para o Web Site, é impor algumas limitações sobre o máximo de largura de banda e o número de conexões que podem ser suportados pelo Web Site. Estas configurações permitem que os Administradores de Redes e ITPROs possam garantir que um ou mais sites do servidor não utilizem a largura de banda excessiva ou que consuma muitos recursos dos servidores.

Configurando Limites

1. Abra o Gerenciador do IIS (Iniciar > executar > inetmgr > OK)

2. No Conteiner “Sites”, Selecione o site que deseja impor o limite

3. No painel a direita em Configure, clique em Limits

4. Configure os limites de acordo com a sua necessidade.

Limit bandwidth usage (in bytes): Limita a largura de banda utilizada (Em bytes)

Connection Limits

* Connection time-out(in seconds): Define o tempo limite de conexão (Em segundos)

* Limit number of connections: Limita o número de conexões

Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque

.NET Trust levels page


Introdução

Utilize o recurso .NET Trust levels page para definir elementos de confiança no web.config. O elemento de confiança permite configurar o nível de segurança para acesso ao código (CAS) que é aplicado na aplicação, conheça os níveis:

Nome do Elemento Descrição
Nivél de confiança

Exibe o nome do nível de confiança. Entre as opções disponíveis estão:

  • Full (interno) – Especifica permissões sem restrição. Concede ao aplicativo ASP.NET permissões para acessar todos os recursos sujeitos à segurança do sistema operacional. Há suporte para todas as operações com privilégio.

  • High (web_hightrust.config) – Especifica um alto nível de segurança de acesso a código, o que significa que o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Chamar código não gerenciado.

    • Chamar componentes atendidos.

    • Gravar no log de eventos.

    • Acessar filas de serviço MSMQ (Message Queuing).

    • Acessar fontes de dados ODBC, OleDb ou Oracle.

  • Medium (web_mediumtrust.config) – Especifica um nível de segurança médio de acesso a código, o que significa que, além das restrições de Nível de Confiança Alto, o aplicativo ASP.NET não consegue fazer nenhuma das seguintes ações, por padrão:

    • Acessar arquivos fora do diretório de aplicativos.

    • Acessar o Registro.

    • Fazer chamadas de rede ou serviço Web. 

  • Low (web_lowtrust.config) – Especifica um nível de segurança baixo de acesso a código, o que significa que, além das restrições de Nível de Confiança Médio, o aplicativo não consegue fazer nenhuma das seguintes ações por padrão:

    • Gravar no sistema de arquivos.

    • Chamar o método Declaração.

  • Minimal (web_minimaltrust.config) – Especifica um nível de segurança mínimo de acesso a código, o que significa que o aplicativo só tem permissões de execução.


Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque

Recursos de Desempenho no IIS 7.0 e 7.5


Introdução

Se você possui muitas requisições no servidor WEB, existe 2 recursos que podem melhorar o desempenho, veja:

Static Content Compression

O protocolo HTTP fornece um método pelo qual as páginas estáticas, podem ser comprimidos antes de ser enviadas para os navegadores dos clientes. O navegador descomprime as informações e processa a página. Este método diminui a utilização de banda tanto do cliente como servidor, além disso o IIS tem a capacidade de armazenar em memória as páginas estática mais acessadas, aumentando ainda mais o desempenho e a escabilidade. Esse recurso é habilitado por padrão e irá funcionar automaticamente, desde que o navegador do cliente suporte compressão HTTP.

Dynamic Content Compression

O conteúdo dinâmico normalmente resulta em diversas informações para enviar para diferentes usuários. Por muitas vezes o conteúdo dinâmico muda a cada solicitação que é feita para o servidor WEB, a quantidade de ‘overhead’ de processamento para comprimir os dados pode ser muito significativo. O Dynamic Content Compression é desabilitado por padrão, mas pode ser habilitado para ajudar a otimização de consumo de banda para aplicações WEB.

Em geral a largura de banda é mais limitado do que o poder de processamento dos novos servidores. Portanto, a menos que uma organização tem um motivo específico para desativá-lo, é recomendável que a compressão de conteúdo estático permanecerá ativado.

Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque

O que são MIME Types?


Conhecendo MIME Types (Types Multipurpose Internet Mail Extensions)

Identifica o tipo de conteúdo que pode ser servido ao browser ou um cliente de servidor web. Quando um navegador solicita o conteúdo de um servidor web, o navegador solicita também o MIME Types, o IIS retorna o tipo de MIME Types com o campo Content_Type em um cabeçalho HTTP antes de devolver o conteúdo, para que o navegador saiba como processar ou exibir este conteúdo.

O IIS usa uma lista padrão de tipos de MIME Types, para determinar quais o tipos de conteúdo pode servir. Se o cliente solicita um MIME Types que não esta definido, o IIS retorna com o erro 4o3.3.

Você deve habilitar apenas os tipos de MIME para o conteúdo armazenado no seu servidor. Está boa pratica reduz o superfície de ataques no seu servidor.

* O IIS não suporta tipos de MIME Types duplicado.

 
Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/
Twitter: @_ealbuquerque

Resumo

Conhecemos MIME Types e a forma correta de utilização para minimizar a superfície de ataques.

Diagrama de arquitetura no IIS 7/7.5


Introdução

O diagrama abaixo mostra as peças fundamentais na arquitetura do IIS 7/7.5

Conhecendo a arquitetura

  • A configuração é armazenada no “applicationhost.config
  • HTTP.sys é o componente do modo kernel que escuta a rede, aceita conexões, atribui pedidos para as filas do Application Pool, o HTTP.sys tambem responde por caches.
  • O Worker Process(w3wp), hospeda todos os códigos personalizados, como: ASP, paginas em ASP.NET, modulos de filtro (ISAPI), extensões e etc.
  • O Windows Activation Services (WAS), é um serviço do sistema que é executado pelo SVCHOST.exe. O WAS lê a configuração do applicationhost.config, gerencia Worker Process, gerencia o tempo de vida e saúde, recicla se necessário e evita o esgotamento de recursos.
  • O W3SVC configura o HTTP.sys com as urls para “escutar” as requisições e é chamado pelo HTTP.sys, se as requisições chegam o Worker Process processa apenas o necessário.
Com as explicações acima, fica mais facil se guiar na hora do troubleshooting.
Erick Albuquerque Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/

Configurações de falha no Application Pool


Introdução

Através do Rapid-Fail Protection você configura ações que devem ser tomadas em caso de falha no Application Pool.

Configurações 

“Service Unavailable” Response Type

HttpLevelSe o Application pool parar, o HTTP.sys retornara uma mensagem de erro “HTTP 503” no browser.

TcpLevel: Se definido como TcpLevel, o HTTP.sys redefine a conexão, se caso possuir um Balanceador de Carga, o TcpLevel reconhece o tipo de erro e redireciona para um outro servidor.

Enabled

True: Se definido como “true”, o Application pool e’ desligado se houver um numero especificado de crashes (Maximum Failures) e especificado o período de falhas (Failure Interval). Por padrão o Application Pool e’ desligado se houver 5 crashes em um intervalo de 5 minutos.

False: Se definido como falso não terá nenhuma ação.

Failure Interval (minutes):  O período de intervalo e’ definido em minutos, durante o numero especificado de falhas do Worker Processes (Maximum Failures), deve ocorrer antes que o Application Pool ‘e desligado pelo Rapid Fail Protection.

Maximum Failures: Define o numero máximo de falhas antes que o Application Pool seja desligado pelo Rapid Fail Protection.

Shutdown Executable: Roda um executável quando o Application Pool ‘e desligado pelo Rapid Fail Protection, normalmente utilizado para redirecionar o trafego para outro servidor.

Shutdown Executable Parameters: Parâmetros que são executados quando o Application Pool ‘e desligado pelo Rapid Fail Protection.

—-

Erick Albuquerque Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/