Quando usar o 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.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para a versão atual, consulte a versão .NET 9 deste artigo.
Kestrel pode ser usado por si só ou com um servidor proxy reverso. Um servidor proxy reverso recebe solicitações HTTP da rede e as encaminha para o Kestrel. Os exemplos de servidores proxy reversos incluem:
Kestrel usado como um servidor Web de borda (voltado para a Internet):
Kestrel usado em uma configuração de proxy reverso:
Qualquer configuração – com ou sem servidor proxy reverso, é uma configuração de hospedagem compatível.
Quando Kestrel é usado como um servidor de borda sem um servidor proxy reverso, o compartilhamento do mesmo endereço IP e da mesma porta entre vários processos não é suportado. Quando o Kestrel é configurado para escutar uma porta, o Kestrel manipula todo o tráfego dessa porta, independentemente dos cabeçalhos de Host
das solicitações. Um proxy reverso que pode compartilhar portas pode encaminhar solicitações para o Kestrel em um IP e porta exclusivos.
Mesmo se um servidor proxy reverso não for necessário, o uso de um servidor proxy reverso poderá ser uma boa opção.
Um proxy reverso:
- Pode limitar a área da superfície pública exposta dos aplicativos que ele hospeda.
- Fornece uma camada adicional de configuração e de segurança cibernética de defesa aprofundada.
- Pode ser integrado melhor à infraestrutura existente.
- Simplifica o balanceamento de carga e a configuração de comunicação segura (HTTPS). Somente o servidor proxy reverso requer o certificado X.509 no(s) domínio(s) público(s). Esse servidor pode se comunicar com os servidores do aplicativo na rede interna usando o HTTP simples ou HTTPS com certificados gerenciados localmente. O HTTPS interno aumenta a segurança, mas adiciona sobrecarga significativa.
Aviso
A hospedagem em uma configuração de proxy reverso exige a filtragem de host.
Recursos adicionais
Configurar o ASP.NET Core para trabalhar com servidores proxy e balanceadores de carga