Notice: Ferron 2.0.0 is currently in beta.

Built for sysadmins — fast, secure, and easy to configure

Serve your website in minutes, not hours

Ferron is a fast web server with automatic TLS certificate management, easy configuration, and rock-solid security — so you can go live in minutes.

Command unavailable

Why Choose Ferron?

Designed with modern web hosting needs in mind, Ferron combines speed, security, and ease of use in one powerful package.

Fast

Thoroughly optimized for speed with support for high concurrency.

Memory Safe

Built with memory safety as a priority, eliminating common security vulnerabilities.

Automatic TLS

Seamless SSL/TLS certificate acquisition and renewal with Let's Encrypt integration.

Easy Configuration

Simple, intuitive configuration with sensible, secure defaults and comprehensive documentation.

Powerful Reverse Proxy

Advanced reverse proxy capabilities with support for load balancing and health checks.

API-Friendly

Built-in support for modern API patterns including WebSockets.

Fast Performance

Ferron can outperform other popular web servers in performance benchmark tests across different workloads.

Static File Serving
Requests per second when serving static files (higher is better)

Higher is better | Benchmarks run on AMD Ryzen 5 8600G, 32GB RAM, with the ferrbench -c 1000 -d 60s -t 12 -h https://localhost --http2 command

Reverse Proxy Performance
Requests per second when proxying to backend services (higher is better)

Higher is better | Benchmarks run on AMD Ryzen 5 8600G, 32GB RAM, with the ferrbench -c 1000 -d 60s -t 12 -h https://localhost --http2 command

Latency Under Load (Reverse Proxy)
Average response time under high concurrency proxying to a "Hello World" Axum application (lower is better)

Lower is better | Benchmarks run on AMD Ryzen 5 8600G, 32GB RAM, with the ferrbench -c $CONCURRENCY -d 60s -t 12 -h https://localhost --http2 command

PHP Performance
Requests per second when serving PHP through PHP-FPM (higher is better)

Higher is better | Benchmarks run on AMD Ryzen 5 8600G, 32GB RAM, with the ferrbench -c 100 -d 60s -t 12 -h https://localhost --http2 command

Quick Installation

Get started with Ferron in minutes. Choose your preferred platform and installation method.

Command unavailable

Manual Download

Download the binary directly from our releases page.

Download Releases

Build from Source

Compile Ferron from source for maximum customization.

Build Instructions

Package Managers

Install via popular package managers on any platform.

View Instructions

Simple Configuration

Ferron has simple, intuitive configuration, compared to more complex configurations of some popular web servers.

Popular web server (NGINX host configuration)

server {
    listen 80;
    listen 443 ssl http2;

    server_name example.com;
    server_tokens off;

    # Assuming you use Certbot for automatic certificate management
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    root /var/www/html;
    gzip on;

    location / {
        try_files $uri $uri/ =404;
    }
}

Ferron 2.x

// TLS certificate is obtained automatically by Ferron
example.com {
    root "/var/www/html"
}

Popular web server (NGINX host configuration)

upstream backend {
    server localhost:3000;
    keepalive 32;
}

server {
    listen 80;
    listen 443 ssl http2;

    server_name example.com;
    server_tokens off;

    # Assuming you use Certbot for automatic certificate management
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        proxy_pass http://backend/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Ferron 2.x

// TLS certificate is obtained automatically by Ferron
example.com {
    proxy "http://localhost:3000"
}

Popular web server (NGINX host configuration)

server {
    listen 80;
    listen 443 ssl http2;

    server_name example.com;
    server_tokens off;

    # Assuming you use Certbot for automatic certificate management
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        gzip on;
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_index index.php;
        # The "fastcgi.conf" is located in the NGINX configuration directory (at least on Debian-based systems)
        include fastcgi.conf;
    }
}

Ferron 2.x

// TLS certificate is obtained automatically by Ferron
example.com {
    root "/var/www/html"
    // Check if the PHP-FPM socket file is accessible by the web server user, often "ferron"
    fcgi_php "unix:///var/run/php/php-fpm.sock"
}

Automatic TLS Management

Ferron can automatically obtain TLS certificates for your website, making it easy to secure your site with HTTPS.

What Our Community Says

Don't take our word for it — hear from the system administrators and developers who use Ferron every day.

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!

Yo'av Moshe

Co-founder of Zaraz, acquired by Cloudflare

Awesome :) Best of luck with the project!

Matthew Holt

Author of the Caddy web server

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

Lukáš Hozda

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

Andreas Wachter

Ready to elevate your web infrastructure?

Join many administrators and developers using Ferron to deliver content faster, more securely, and with less overhead.