Il progetto NGINX ha pubblicato un toolkit per lo sviluppo di moduli in Rust

Gli sviluppatori del progetto NGINX hanno presentato lo strumento ngx-rust, che consente di creare moduli per il server HTTP e il proxy multicon protocollo NGINX utilizzando il linguaggio di programmazione Rust. Il codice ngx-rust è distribuito sotto licenza Apache 2.0 ed è attualmente in fase beta.

Inizialmente, lo strumento è stato sviluppato come progetto per incentivare lo sviluppo di un Service mesh compatibile con Istio per la piattaforma Kubernetes, che opera sopra NGINX. Il prodotto non è mai andato oltre il prototipo e per alcuni anni è rimasto in una fase di stagnazione, ma gli esempi di bind pubblicati durante la creazione del prototipo sono stati utilizzati dalla comunità in progetti esterni per ampliare le capacità di NGINX utilizzando Rust.

Dopo un certo periodo, l'azienda F5 ha avuto bisogno di scrivere un modulo specializzato per NGINX per proteggere i propri servizi, in cui volevano utilizzare il linguaggio Rust per ridurre il rischio di errori nella gestione della memoria. Per risolvere il problema, è stato coinvolto l'autore di ngx-rust, a cui è stato incaricato di sviluppare uno strumento nuovo e migliorato per la creazione di moduli per NGINX in Rust.

Lo strumento include due pacchetti crate:

  • nginx-sys — generatore di binding basato sui testi sorgente di NGINX. L'utilità carica il codice NGINX e tutte le relative dipendenze, quindi utilizza bindgen per creare binding sopra le funzioni originali (FFI, interfaccia di funzione esterna).
  • ngx — interfaccia per accedere a funzioni C dal codice Rust, API e sistema di riesportazione dei binding creati con nginx-sys.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster