Casos en los que se puede usar Kestrel con un proxy inverso
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la directiva de compatibilidad de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión de .NET 9 de este artículo.
Kestrel puede usarse por sí solo o con un servidor proxy inverso. Un servidor proxy inverso recibe las solicitudes HTTP de la red y las reenvía a Kestrel. Entre los ejemplos de un servidor proxy inverso, se incluyen los siguientes:
Kestrel empleado como servidor web perimetral (accesible desde Internet):
Kestrel empleado en una configuración de proxy inverso:
Cualquiera de las configuraciones, con o sin servidor proxy inverso, es una configuración de hospedaje admitida.
Cuando se usa Kestrel como un servidor perimetral sin un servidor proxy inverso, no se permite compartir la misma dirección IP y el mismo puerto entre varios procesos. Si Kestrel se configura para escuchar en un puerto, Kestrel controla todo el tráfico de ese puerto, independientemente de los encabezados Host
de las solicitudes. Un proxy inverso que puede compartir puertos puede reenviar solicitudes a Kestrel en una única dirección IP y puerto.
Aunque no sea necesario un servidor proxy inverso, su uso puede ser útil.
Un proxy inverso puede hacer lo siguiente:
- Limitar el área expuesta públicamente de las aplicaciones que hospeda.
- Proporciona una capa extra de configuración y defensa en profundidad de ciberseguridad.
- Posiblemente, integrarse mejor con la infraestructura existente.
- Simplificar el equilibrio de carga y la configuración de una comunicación segura (HTTPS). Solo el servidor proxy inverso requiere el certificado X.509 para los dominios públicos. Ese servidor puede comunicarse con los servidores de la aplicación en la red interna mediante HTTP sin formato o HTTPS con certificados administrados localmente. HTTPS interno aumenta la seguridad, pero agrega una sobrecarga significativa.
Advertencia
El hospedaje en una configuración de proxy inverso requiere filtrado de hosts.
Recursos adicionales
Configurar ASP.NET Core para trabajar con servidores proxy y equilibradores de carga