HAProxy: proxy para mejorar el rendimiento

HAProxy es un proxy gratuito, con balanceo de carga y que soporta decenas de miles de peticiones. Además de tener un gran rendimiento, permite tener un control de concurrencia, esencial cuando tenemos demasiadas peticiones que nuestro sistema no puede soportar, y en vez de saturar el sistema y dar un mal servicio a todo el mundo, podemos limitar el número de peticiones para que al menos una parte de los usuarios sí reciban el servicio adecuado.

HAProxy

Vía / SaaS Interrupted

Glyde: proxy PHP para descargas directas

Glyde es un script proxy PHP, el cual podemos instalarlo en nuestro servidor pudiendo acceder a URLs que tenemos capadas ya sea en nuestra oficina o por la nueva ley que se ha inventado la ministra para lo de las páginas de enlaces (en este caso nuestro servidor no podrá estar en España, lógicamente).

Entre las características que ofrece nos encontramos con:

  • Muy fácil de instalar, tan sólo hay que copiarlo y ya funciona
  • URLs encriptadas
  • Bloqueo de IPs (aunque yo casi le metería protección por htaccess)
  • Caché en el servidor
  • Soporte de Javascript
  • Panel de administración

Glype

GreenSQL: proxy que protege MySQL de SQL injections

GreenSQL es un reverse proxy que se sitúa entre tu aplicación web y la BD de MySQL y evita que se realicen ataques de SQL injection en nuestra BD.
greensql.png
La lógica está basada en la evaluación de los comandos SQL usando una matriz de puntuación de riesgo, a parte de bloquear comandos de administración (DROP, CREATE, …).
Tiene muy buena pinta, claro que habría que hacer unas pruebas de rendimiento para ver si es más eficiente evitar los ataques mediante código o mediante GreenSQL.
GreenSQL

MemProxy: proxy con PHP y memcached

MemProxy es un script PHP sencillo pero potente, que nos permite tener un servidor proxy de peticiones web y cachea los contenidos en memcached. Tan solo es necesario PHP5.2, la extensión PECL para memcache, servidor web con capacidad de re-escritura y memcached.

En el siguiente ejemplo:

$backend_array = array(
"www.example.com" =>
array(
array("app1.example.com", 80),
array("app2.example.com", 80),
array("app3.example.com", 80),
),
"another.example.com" =>
array(
array("app1.example.com", 8080),
array("app2.example.com", 8080),
array("app3.example.com", 8080),
),
);

las claves de los arrays (www.example.com y another.example.com) son los host names de los sitios en los que se quiere hacer proxy. MemProxy usará el valor de HTTP_HOST para determinar la clave. Esto sería como un hosting virtual basado en nombres.

MemProxy