We have just released Ferron 1.0.0! Read the blog post

Ferron logo

A fast, memory-safe web server powered by Rust

Ferron is a web server optimized for speed, security, and efficiency. Written in Rust, it offers memory safety and performance, making it ideal for modern websites.

Why Ferron?

Free as in freedom

You don't need to worry about issues related to proprietary software, such as backdoors or licensing issues. Ferron is licensed under a permissive MIT license, and you can contribute to its development via a Git repository.

Fast

Ferron is throughly optimized for web server performance. According to our own benchmarks, it performs similarly to a popular Caddy web server. You can also enable caching in Ferron for even higher performance.

Memory-safe

Ferron is written in Rust, a programming language designed for memory safety. This ensures that Ferron has lower risk of memory safety bugs compared to popular web servers written in C or C++.

Easy to configure

Get up and running fast with straightforward configuration options that save you time and let you focus on what matters. You also don't need to worry much about securing your web server, since Ferron enables secure configuration by default.

Automatic TLS

You can enable automatic TLS for public websites via Let's Encrypt in Ferron, which can save you from the hassle of manual TLS certificate management. With this, Ferron will automatically obtain the certificates for you.

Cross-platform

Ferron can be run across multiple operating systems, including GNU/Linux, Windows Server, and FreeBSD. This means you can deploy Ferron on your preferred platform without compatibility concerns.

Ferron is a fast web server

As you can see on the benchmark results below, Ferron is 12% faster in static file serving than Caddy, and 19% faster than Apache httpd (with prefork MPM). This makes Ferron a good choice for a fast, memory-safe web server.

The static web server performance is measured by running a "wrk -c 100 -d 60 -t 6 https://localhost/index.nginx-debian.html" command on a server with a AMD Ryzen 5 8600G CPU. The web servers serve a default page that comes with NGINX web server. All web servers also have logging the requests into a log file enabled.

Ferron is also a fast reverse proxy

As you can see on the benchmark results below, Ferron is 16% faster in reverse proxying than Traefik, 26% faster than Apache httpd (with event MPM), and 51% faster than Caddy. This makes Ferron a good choice for a fast reverse proxy, without being stuck configuring it.

The reverse proxy performance is measured by running a "ferrbench -c 100 -d 60s -t 6 -h https://localhost" command on a server with a AMD Ryzen 5 8600G CPU. The web servers pass requests to a "Hello World" application built with Express, Node.js, and run with PM2. All web servers also have logging the requests into a log file enabled. NGINX is excluded due to possible misconfiguration.

Join the Ferron community!

Ferron is an open-source project built by developers like you. Whether you're a user, contributor, or enthusiast, we'd love for you to join our growing community!

700+ stars on GitHub and counting!

Help us improve Ferron by submitting code, reporting issues, or suggesting features.

Stay updated on the latest Ferron news and releases.

Don't just take our word for it!

See what others think of Ferron web server.

Yo'av Moshe

Co-founder of Zaraz, acquired by Cloudflare

Hacker News icon

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!

Matthew Holt

Author of the Caddy web server

Hacker News icon

Awesome :) Best of luck with the project!

Lukáš Hozda

X icon

Replacing Sōzu with @ferron_web because the madlad actually went out of his way to do a benchmark when I asked

Andreas Wachter

Threads icon

I just switched to @ferronweb on my pi to serve services at home. Imho ferron is just way easier to configure than anything else.

Frequently Asked Questions

A web server is hardware device or software application that delivers web pages to clients over the internet.

Ferron is a fast, memory-safe web server written in Rust. It supports both static files, and dynamic content (including PHP). Ferron is licensed under a permissive MIT license.

The idea of developing a web server in a systems programming language arose when Dorian Niemiec, the creator of SVR.JS, found its Node.js implementation too slow based on performance benchmarks. He first experimented with various programming languages for web servers, and found Rust to be efficient enough. Then he experimented with building a custom low-level HTTP handler, but encountered conflicts with Rust's borrow checker, leading to lifetime issues, so he used Hyper instead. The end result became "Project Karpacz" (named after a city in Poland near the mountains), and later "Ferron".

The name "Ferron" is derived from "ferrous," referencing Rust's iron theme. Rust programming language is actually named after the rust fungus.

Ferron is a standalone, general-purpose web server. Unlike web application frameworks such as Actix Web or Axum, which are designed for building web applications in Rust, Ferron operates independently as a server. Other standalone web servers, like Static Web Server or binserve, are primarily focused on serving static files, whereas Ferron is built for broader use cases.

You can read the documentation to learn how to use Ferron.