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 usado numa configuração de proxy reverso:
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