Readit News logoReadit News
Posted by u/dorianniemiec 10 months ago
Show HN: I built a memory-safe web server in Rustferronweb.org/...
The web server that I am building is currently in beta, so any feedback is welcome.
yoavm · 10 months ago
I suspect that people don't like changing web servers, and perhaps that's why it took the industry so long to move away from Apache. Ferron actually looks great — great performance, automatic TLS, easy reverse proxy configuration and more. Congrats on shipping this!
hu3 · 10 months ago
Yeah it surprised me when Caddy [1] started gaining traction for that reason.

It's much better than the old competition in many ways, so there's that.

https://caddyserver.com

encom · 10 months ago
What's wrong with Apache?
yoavm · 10 months ago
It is often slower, harder to configure, and has fewer features than Nginx, Caddy, etc.
dorianniemiec · 10 months ago
Thank you for the feedback!
k_bx · 10 months ago
Please consider out-of-the-box way to analyze slow queries, analysis by endpoints (ideally with some patterns to group by), ideally to not generate gigabytes of access logs but rather give some already-aggregated in-memory stats.

Maybe batteries included would be great (web UI similar to HAProxy but way-way better).

renox · 10 months ago
This seems to be a bonafide FOSS project, the correct way to ask for features is either to provide patch or money not this..
k_bx · 10 months ago
I am a FOSS developer myself for many years, and this is exactly kind of stuff I'd love to hear. So no, it is totally OK to give your ideas to the developer in this form.
surajrmal · 10 months ago
Kind suggestions are okay. Demands and complaints are not. This doesn't strike me as the latter two.
LtdJorge · 10 months ago
Suggesting features is always good
gitgud · 10 months ago
There’s no correct way in FOSS… that’s kinda the point
rayiner · 10 months ago
I’d love your opinion on how you found working with Rust’s memory model for something like a web server. Did your design fit naturally with ownership and borrowing, or did you find yourself fighting the language?
dorianniemiec · 10 months ago
When developing my web server, I spent some time "fighting the borrow checker".

Deleted Comment

Maledictus · 10 months ago
I'd mention fearless concurrency on the website/blog post, as that distinguishes your webserver from, say, caddy.
IshKebab · 10 months ago
I wouldn't. Blazing fast, fearless concurrency, etc. are all super cringe at this point. Just say it's fast, secure and reliable or something like that.
bangaladore · 10 months ago
I tend to agree. It makes me think that a project is more interested in optics / following trends and is likely overstating things.

Instead of "Blazing Fast", just show a chart showing you are better per core than XYZ.

Instead of "fearless concurrency", show that you are better at utilizing system resources than XYZ.

karunamurti · 10 months ago
No it's not.
commandersaki · 10 months ago
How does Caddy pale in comparison?
dorianniemiec · 10 months ago
Thank you for the feedback! I think this is an advantage of Rust that prevents common pitfalls related to concurrent programming, making web servers written in Rust safer.
rurban · 10 months ago
So deadlock free, or don't you just fear deadlocks, rather ignore the possibility?
eptcyka · 10 months ago
Is it susceptible to slow loris?

Hyper, the http library, did not handle it well.

dorianniemiec · 10 months ago
I haven't tested it for Slowloris yet.
mholt · 10 months ago
Awesome :) Best of luck with the project!
dorianniemiec · 10 months ago
Thank you!
1oooqooq · 10 months ago
thanks for sharing. what's the commercial plans?

i will add to the pile of cgi hosts in our CI for weird and borderline hostile php projects and report back.

dorianniemiec · 10 months ago
Thank you! Right now, I don't have any commercial plans for my web server. My web server is free to use for everyone, and it's open source.

Deleted Comment