Satu Slash di depan semuanya.
Web server. Reverse proxy. Ingress controller.
Slash adalah web server, reverse proxy, dan Kubernetes Ingress controller yang ditulis dari nol dengan Rust. HTTP/3 dan HTTPS otomatis langsung aktif, dikonfigurasi dengan satu file pendek.
Setiap request, ditangani sekali.
Slash menangani terminasi TLS, memeriksa request, mengompres respons, lalu meneruskannya ke situs, aplikasi PHP, container, atau pod. Satu proses, satu konfigurasi, tanpa modul yang perlu dikompilasi.
Server pada umumnya
Beginilah server pada umumnya hari ini.
File konfigurasi yang tidak ingin disentuh siapa pun. Sertifikat diperpanjang oleh cron job. Modul firewall dikompilasi manual.
Setiap situs baru adalah satu blok lagi yang disalin dari situs sebelumnya, lalu reload, lalu berharap tidak ada koneksi yang putus.
Slash menggantinya dengan satu file yang dapat Anda baca dalam satu menit.
Slashfile
Empat situs. Lima baris.
email admin@example.com
example.com, www.example.com proxy localhost:3000
blog.example.com wordpress /var/www/blog
api.example.com laravel /var/www/api
docs.example.com files /srv/docs
Itu Slashfile yang lengkap: HTTPS otomatis dari Let’s Encrypt, HTTP/3, PHP lewat php-fpm, dan file statis.
slash check memvalidasinya dengan nomor baris dan saran untuk salah ketik. slash reload memvalidasi lagi, lalu menukar konfigurasi baru secara atomik tanpa memutus koneksi.
Posisinya
Sajikan sendiri, atau berdiri di depannya.
- Web server
- File statis dibaca langsung, PHP berjalan lewat php-fpm dengan preset WordPress dan Laravel. Satu binary menggantikan Nginx atau Apache di satu server.
- Reverse proxy
- Di depan Node.js, Go, Java, Python, atau container Docker. Slash menangani TLS, WAF, load balancing, dan health check; aplikasi Anda cukup bicara HTTP biasa.
- Ingress controller
slash-ingressberjalan di sebelah Slash di pod, membaca objek Ingress v1 dan memahami anotasi umum ingress-nginx, sehingga Ingress yang ada berpindah tanpa perubahan.
HTTP/1.1, HTTP/2, HTTP/3, WebSocket, gRPC, TCP, UDP, dan TLS passthrough berdasarkan SNI.
AssaultCuirass WAF
Zirah untuk setiap request.
Heavy-Duty, Memory-Safe Web Application Firewall Powered by Rust.
AssaultCuirass menjalankan aturan request OWASP CRS v4 di engine Rust milik Slash sendiri. Tanpa ModSecurity, dan setiap regular expression berjalan dalam waktu linear, sehingga request yang sengaja dirancang tidak bisa membuatnya macet.
- 89.5% serangan diblokir pada paranoia level 1
- 0.13 ms biaya per request bersih
- 37,000 payload di set pengujian
shop.example.com proxy localhost:3000
waf # detect: log only
/api waf block # answer 403 here
waf skip 942430 ARGS:search # a false positive
SPMPlus
Panel, kalau Anda butuh.
SPMPlus (Slash Proxy Manager Plus) adalah reverse proxy manager opsional untuk Slash. Proxy dan panel berjalan sebagai proses terpisah, jadi Slash tetap melayani pengunjung saat panel dihentikan atau diperbarui.
Setiap perubahan divalidasi, ditampilkan sebagai diff, ditukar secara atomik, dan dicatat di riwayat versi. Admin masuk dengan passkey atau TOTP.
Bawaan
Tidak ada yang perlu dipasang terpisah.
- Let’s Encrypt: HTTP-01, TLS-ALPN-01, DNS-01 (Cloudflare) dan ARI, atau unggah sertifikat Anda sendiri
- Load balancing round-robin dengan health check aktif dan pasif
- Kompresi zstd, Brotli, dan gzip, plus micro-cache
- Rate limiting per rute, dijawab dengan
429danRetry-After - Preset security header per host, aktif secara default
- IP klien asli di balik load balancer: trusted proxy, PROXY protocol v1/v2
- File statis dan single-page app; dotfile dan symlink yang keluar folder tidak pernah disajikan
- Hot reload: divalidasi dulu, lalu ditukar secara atomik
- TLS 1.3, argon2id, secret dienkripsi saat disimpan
Performa
Diukur, bukan dijanjikan.
- 92,169 request per detik, 1.000 koneksi HTTP/1.1
- 0 error dengan 10.000 pengguna HTTPS bersamaan
- 28 MB Slash saat idle
- 60 KB atau kurang per koneksi terbuka
bench/concurrency.sh di satu i5-10600 (6 core) pada WSL2; load generator, upstream uji, dan Slash berbagi CPU yang sama.
