Partilhar via


Quando usar Kestrel com um proxy reverso

Observação

Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão .NET 9 deste artigo.

Advertência

Esta versão do ASP.NET Core não é mais suportada. Para obter mais informações, consulte a Política de suporte do .NET e .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.

Importante

Estas informações referem-se a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.

Para a versão atual, consulte a versão .NET 9 deste artigo.

Kestrel pode ser usado sozinho ou com um servidor proxy reverso . Um servidor proxy reverso recebe solicitações HTTP da rede e as encaminha para Kestrel. Exemplos de um servidor proxy reverso incluem:

Kestrel usado como um servidor Web de borda (voltado para a Internet):

Kestrel se comunica diretamente com a Internet sem um servidor proxy reverso

Kestrel usado numa configuração de proxy reverso:

Kestrel se comunica indiretamente com a Internet através de um servidor proxy reverso, como IIS, Nginx ou Apache

Qualquer configuração, com ou sem um servidor proxy reverso, é uma configuração de hospedagem suportada.

Quando Kestrel é usado como um servidor de borda sem um servidor proxy reverso, o compartilhamento do mesmo endereço IP e porta entre vários processos não é suportado. Quando Kestrel está configurado para escutar numa porta, Kestrel lida com todo o tráfego dessa porta, independentemente dos cabeçalhos Host dos pedidos. Um proxy reverso que pode compartilhar portas pode encaminhar solicitações para Kestrel em um IP e uma porta exclusivos.

Mesmo que um servidor proxy reverso não seja necessário, usar um servidor proxy reverso pode ser uma boa escolha.

Um proxy reverso:

  • Pode limitar a área de superfície pública exposta dos aplicativos que hospeda.
  • Fornece uma camada adicional de configuração e cibersegurança de defesa em profundidade.
  • Pode integrar-se melhor com a infraestrutura existente.
  • Simplifica o balanceamento de carga e a configuração de comunicação segura (HTTPS). Apenas o servidor proxy reverso requer o certificado X.509 para o(s) domínio(s) público(s). Esse servidor pode se comunicar com os servidores do aplicativo na rede interna usando HTTP simples ou HTTPS com certificados gerenciados localmente. O HTTPS interno aumenta a segurança, mas adiciona uma sobrecarga significativa.

Advertência

A hospedagem em uma configuração de proxy reverso requer filtragem de host.

Recursos adicionais

Configurar o ASP.NET Core para trabalhar com servidores proxy e balanceadores de carga