A "Production-Level Web Server Software" like Nginx or Caddy written in Rust with Hyper & Rustls?

Hyper and Rustls are truly excellent, and they've matured significantly over time. What if we used them to build a web server software? I believe if Golang can do it (Caddy), we can too.

Is there something missing from existing web servers in Rust: Actix, Tower, Warp, Hyper, Axum, Poem? I'm sure there are others.

1 Like

They are web server frameworks, not web server software.

I don't believe there's a particular appetite in the Rust community to actually rewrite this kind of software package (despite the RiiR memes).

1 Like

I think it's also a matter of philosophy.
You configure Nginx with configuration files which are parsed during runtime (on startup) to get your individual web server.
With the named frameworks, you can build your own web server by configuring it with Rust code during compile time and thus get all the benefits from Rust's compile-time checks resulting a configured web server binary that is guaranteed to start up and do what it's intended to do.

That probably came from the different mindset at the time.

Apache and nginx (more the first one) were designed with a CGI execution model.

Now we create environments from scratch with docker and who knows what with just our own software and the os layer on it. Etc.

1 Like

I rather think it's a matter of the programmer's philosophy, rather than a matter of time.
dwm was built with the same mindset of compile-time configuration.

Perhaps I don't know what the difference is. Are you missing out of the box static file serving or CGI. Or what?

Pretty much the only thing we use nginx for around here is proxying connections to the right backend servers.

1 Like

I don't understand. What is the issue you are having with building a server using Rust?

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.