6 votos

¿Por qué poner a un proxy inverso delante de un servidor WSGI?

Una configuración típica para la implementación de un WSGI aplicación incluye un WSGI servidor (como uWSGI o Gunicorn) detrás de un propósito general del servidor web (como nginx), que actúa como un proxy inverso. Una de las principales razones sé que para tener un proxy inverso es para servir los archivos estáticos de manera eficiente. ¿Hay otras razones?

Supongamos que mi aplicación implica sólo el código de Python y no se preocupan por el contenido estático. Por qué iba yo a querer que el proxy inverso en este caso? uWSGI y Gunicorn cada ofrecen ya un servidor HTTP asincrónicos capaz de interactuar con los clientes.

Hay casos prácticos donde estaría mejor exposición de la WSGI HTTP server directamente con el mundo exterior?

6voto

  • tiene más de configuración-opciones con un completo soplado de proxy inverso como

    • reescribir
    • ubicaciones
    • servidor
    • https
    • en el encabezado de la limpieza
    • caduca
    • gzip
    • ....
  • usted puede hacer balanceo de cargas

  • usted puede utilizar proxy_cache
  • puede implementar de error personalizadas-páginas, incluso cuando su aplicación-servidores de abajo
  • usted puede tener un WAF implementado
  • usted puede (a veces) hotpatch contra vulnerabilidades

BONUSPOINT

  • usted puede impresionar a los clientes con 100.000 peticiones/segundo (en promedio de hardware) con la siguiente configuración (nginx):

.

location /perftest/ {
    return 200;
}

2voto

Andrew Russell Puntos 113

Ventajas adicionales para el uso de un proxy inverso.

Otros pueden obtenerse beneficios que PUEDEN ser de beneficio para usted.

  • Usted puede ocultar la información de la internet (web de la versión del servidor, servidor de aplicaciones, servidor de base de datos, api)
  • Usted puede implementar varias web de las tecnologías de servidor detrás de un dominio (tomcat Linux + Windows IIS, etc)
  • Usted puede terminar https/SSL conexiones y asignarlos a los servicios http internos.
  • Usted puede centralizar todo el registro.
  • Usted puede centralizar todos los DDOS de prevención
  • Puede Implementar la gestión de la identidad desde el servidor web de nivel.

Ventajas De Seguridad

  • Servidor interno ocultar que el anterior.
  • Usted puede router/firewall interno del servidor de aplicaciones servidores y servidores de base de datos desde internet sin tener que recurrir a los firewalls de software en el host (que se llama DMZ).
  • Usted puede proteger a un servidor que no se pueden corregir inmediatamente de conocidos los problemas (web application firewall) o se sabe que los patrones de ataque.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: