Onyx: il reverse proxy moderno, minimale e potente

Onyx è uno di quei progetti che arrivano in silenzio ma attirano subito l’attenzione di chi lavora con infrastrutture web, microservizi e ambienti containerizzati. È un reverse proxy host‑based, leggero e progettato per essere immediato da configurare, ma allo stesso tempo ricco di funzionalità avanzate. Il documento lo presenta come un progetto già maturo fin dalla versione iniziale, con un set di strumenti che copre esigenze reali e quotidiane.

La prima caratteristica che colpisce è la presenza di una dashboard WebSocket in tempo reale, che permette di monitorare traffico, richieste e stato dei backend senza ricorrere a strumenti esterni. L’autenticazione integrata con bcrypt e sessioni persistenti garantisce un accesso sicuro, mentre la configurazione in TOML mantiene la leggibilità anche in ambienti complessi. L’uso di SQLite come storage elimina dipendenze esterne e rende Onyx adatto anche a installazioni piccole o a server edge.

Il sistema di rate limiting per IP utilizza un algoritmo a token bucket, una scelta che permette di controllare il traffico in modo prevedibile e senza penalizzare eccessivamente i client legittimi. Il documento evidenzia anche la possibilità di eseguire traffic splitting ponderato, utile per test A/B o per distribuire il carico tra backend con capacità diverse. La presenza di un’API plugin basata su middleware composabili apre la strada a estensioni personalizzate, rendendo Onyx un progetto flessibile e adatto a scenari molto diversi.

Le versioni successive hanno introdotto miglioramenti significativi. La gestione delle route direttamente dalla dashboard permette di modificare la configurazione senza toccare file o riavviare il servizio. Le statistiche persistenti lato server offrono una visione storica del traffico, mentre l’analisi per singola route aiuta a individuare colli di bottiglia o comportamenti anomali. Il documento sottolinea anche l’introduzione di protezioni aggiuntive, come il rate limiting per il login e la validazione dell’origine WebSocket, elementi fondamentali per evitare abusi.

Onyx include anche limiti sulla dimensione del corpo delle richieste, time‑out configurabili per connessioni e risposte dei backend e un sistema di pooling TCP che riduce la latenza nelle comunicazioni interne. La possibilità di validare la configurazione tramite un comando dedicato aiuta a evitare errori prima del deploy. La distribuzione è semplificata grazie ai pacchetti .deb, .rpm e AUR, rendendo l’installazione immediata su tutte le principali distribuzioni Linux.

Una delle funzioni più apprezzate è l’aggiornamento live delle route senza riavvio, introdotto nella versione 0.1.2. Nella stessa release è arrivato anche il comando di auto‑aggiornamento, che permette di mantenere Onyx sempre all’ultima versione senza interventi manuali. Le prossime tappe del progetto includono il supporto automatico a HTTPS tramite Let’s Encrypt, il reload della configurazione senza downtime, un pacchetto Homebrew e un’immagine Docker ufficiale.

Onyx si presenta come un reverse proxy moderno, elegante e pragmatico, pensato per chi vuole un’alternativa semplice ma potente ai giganti del settore. Un progetto giovane, ma già con una direzione chiara e un potenziale enorme per il mondo DevOps.

Onyx è disponibile per Linux con pacchetti deb, rpm, docker o nella versione con binari precompilati.

Home Onyx

Lascia un commento