|
|
|
|
|
by mholt
1383 days ago
|
|
While I'm glad you recommend Caddy in general, it's worth noting that those advantages come with costs though, too: - Padding: (I'm pretty sure Go already does this too: https://go.dev/src/crypto/tls/conn.go) - Performance: Requires nuanced tuning. Caddy performs competitively well for real world usage - kTLS: Sacrifices memory safety. - Existing modules: How do they perform compared to natively-compiled code? Caddy modules can do all that nginx modules can do, and more, but are natively compiled. I ran experiments with Caddy+Starlark that performed 2x as fast as Nginx+Lua. |
|
Can Caddy leverage either form of padding? If so, I might need to give it another look!
And regarding modules: most are written in C and dynamically loaded as shared objects or statically linked during compile-time. A bunch are listed at https://www.nginx.com/resources/wiki/modules/. The ones for live streaming and VODs are the hardest to replace, IMO. IPScrub was my favorite but I haven't used it for a few years.
Personally, I think live streaming and ffmpeg-based encoding are specialized enough to warrant a specialized server (like a custom Nginx build) and are a bit out of scope for a general-purpose user-friendly server like Caddy.