Compare

How Slash compares.

As of October 2026, open-source editions. Logos and trademarks belong to their owners.

Slash, Caddy, Nginx and Apache httpd

Slash, Caddy, Nginx and Apache httpd
Slash Caddy Nginx Apache httpd
CategoryWeb server, reverse proxy and Kubernetes Ingress controllerWeb server and reverse proxyWeb server, reverse proxy, load balancerWeb server
LanguageRustGoCC
Memory safeYes (no unsafe in its own code)YesNoNo
Automatic HTTPSBuilt in: HTTP-01, TLS-ALPN-01, DNS-01 (Cloudflare), ARIBuilt in; DNS-01 for many providers via pluginscertbot or an extra ACME modulemod_md
HTTP/3Built in, onBuilt in, onAvailable, must be enabled—
WebSocket, gRPCYesYesYesYes (mod_proxy)
Load balancingRound-robin with active and passive health checksMany policies with health checksRound-robin, least_conn, hash; active health checks only in NGINX Plusmod_proxy_balancer
Static filesIndex, SPA fallback, pre-compressed files, range requests; dotfiles and escaping symlinks refusedfile_serverroot, try_filesDocumentRoot, .htaccess
PHP / FastCGIYes (php-fpm); wordpress and laravel presets with safe rules built inYes (php_fastcgi)Yes (fastcgi_pass with manual configuration)Yes (mod_php, php-fpm)
TCP/UDP proxyYes: TCP, UDP, TLS passthrough (SNI), PROXY protocollayer4 pluginYes (stream)—
Kubernetes IngressYes: slash-ingress (Ingress v1, Helm chart), reads ingress-nginx annotationsCommunity projectingress-nginx, NGINX Ingress Controller—
Rate limitingBuilt in, per routePluginBuilt in (limit_req)Extra modules
Security headersPer-host preset, on by defaultWritten in the CaddyfileWritten in the configWritten in the config
WAFBuilt in: AssaultCuirass (OWASP CRS v4, Rust engine, linear-time regex)Plugin (Coraza)ModSecurity moduleModSecurity module
ConfigurationSlashfile, or the SPMPlus web panelCaddyfile / JSON with an admin APInginx.confhttpd.conf, .htaccess
ReloadValidated, swapped atomicallyGracefulnginx -s reloadgraceful
Official web panelYes (SPMPlus)Third partyThird partyThird party

Like Nginx and Caddy, Slash uses central configuration in place of .htaccess: the wordpress and laravel presets already carry the rewrite rules usually written there.

The same WordPress site in Caddy and in Slash:

Caddyfile
blog.example.com {
    root * /var/www/blog
    php_fastcgi localhost:9000
    file_server
}
Slashfile
blog.example.com    wordpress /var/www/blog

SPMPlus and Nginx Proxy Manager

SPMPlus and Nginx Proxy Manager
SPMPlus Nginx Proxy Manager
Reverse proxySlash (Rust)Nginx (OpenResty)
Panel backendRust (Axum) with SQLiteNode.js with SQLite or MySQL/MariaDB
ArchitectureProxy and panel separate; the proxy keeps running when the panel is downPanel and Nginx in one container
Docker imagesTwo distroless images, read-only, non-rootOne image, root by default
Native installYes (static binary with systemd)Not official
Applying changesFull validation, diff preview, atomic swap, version historyWrites Nginx config files, then reloads
Let’s EncryptHTTP-01, TLS-ALPN-01, DNS-01 (Cloudflare)HTTP-01, DNS-01 for many providers
HTTP/3Yes—
Compressionzstd, Brotli, gzipgzip
Access lists (IP and basic auth)YesYes
Rate limitingPer route, from the panelManual Nginx config
Security headersPer-host presetHSTS and “Block common exploits”; the rest manual
TCP/UDP streamsYes, plus TLS passthrough (SNI)Yes
AccountsMultiple admins, passkeys and TOTPMultiple users with per-feature permissions
MetricsDashboard and Prometheus—

SPMPlus is built for HTTP/3, secure defaults, configuration changes validated before they reach the proxy, and a small memory footprint.