Compartir vía


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, consulta la versión .NET 8 de este artículo.

Advertencia

Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulta la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulta la versión .NET 8 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 .NET 8 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 se comunica directamente con Internet sin ningún servidor proxy inverso

Kestrel empleado en una configuración de proxy inverso:

Kestrel se comunica indirectamente con Internet a través de un servidor proxy inverso, como IIS, Nginx o Apache

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