caddy-website/new/features.html

107 lines
3.5 KiB
HTML
Raw Normal View History

2023-09-29 15:28:51 -06:00
<!DOCTYPE html>
<html>
<head>
<title>All features of the Caddy Web Server</title>
{{include "/includes/head.html"}}
<link rel="stylesheet" href="/resources/css/marketing.css">
<link rel="stylesheet" href="/resources/css/features.css">
</head>
<body>
<div class="hero">
{{include "/includes/header.html" "dark-header"}}
<div class="wrapper">
<div class="hero-content">
<h1>
All features
<div class="subheading">
You might want to sit down for this.
</div>
</h1>
</div>
</div>
</div>
2023-10-01 12:57:19 -06:00
<section class="diagonal up feature">
2023-09-29 15:28:51 -06:00
<div class="wrapper">
<h2>
Overview
</h2>
<p>
Caddy is essentially a configuration management system that can run various apps like an HTTP server, TLS certificate manager, PKI facilities, and more. It can be extended with plugins known as config modules. At the end of the page, we list capabilities that are provided by known, popular plugins.
</p>
<p>
Caddy sports a powerful and flexible HTTP reverse proxy, on-line configuration API, and a robust, production-ready static file server, and serves all sites over HTTPS by default with automagic TLS certificates.
</p>
2023-10-01 10:56:18 -06:00
<h3 class="green">High-level technical specifications</h3>
2023-10-01 12:57:19 -06:00
<div class="feature-list">
<div class="feature-row">
2023-10-01 10:56:18 -06:00
<h4>Language</h4>
2023-10-01 12:57:19 -06:00
<div class="benefits">
The language choice is crucial for a web server. Most servers (NGINX, Apache, HAProxy, etc.) and their dependencies are written in C, which are vulnerable to catastrophic memory safety bugs like Heartbleed. Go programs like Caddy are impervious to a whole class of security vulnerabilities.
</div>
<div class="detail">
Go
</div>
2023-09-29 15:28:51 -06:00
</div>
2023-10-01 12:57:19 -06:00
<div class="feature-row">
<h4>Build artifacts</h4>
<div class="benefits">
Caddy compiles directly to native CPU instructions. There is no interpreter required; and many instructions are architecture-optimized.
</div>
<div class="detail">
Platform-native static binary
</div>
2023-09-29 15:28:51 -06:00
</div>
2023-10-01 12:57:19 -06:00
<div class="feature-row">
<h4>Runtime dependencies</h4>
<div class="benefits">
Caddy is statically compiled. Dynamically-linked applications can easily break in production and may be less secure as shared executable resources are loaded from various places around the system. Generally, Caddy binaries do not necessarily require external libraries &mdash; not even libc.
</div>
<div class="detail">
None
</div>
</div>
<div class="feature-row">
<h4>Compile time</h4>
<div class="benefits">
On consumer hardware, standard Caddy builds compile in just a few seconds. This is crucial for rapid iteration, plugin development, and low-cost deployments.
</div>
<div class="detail">
5 seconds
</div>
</div>
<div class="feature-row">
<h4>Deployment environments</h4>
<div class="benefits">
Caddy can go practically anywhere and be deployed a variety of ways.
</div>
<ul class="detail">
<li>System service</li>
<li>Command line interface</li>
<li>Containers</li>
<li>Kubernetes</li>
</ul>
2023-09-29 15:28:51 -06:00
</div>
</div>
2023-10-01 10:56:18 -06:00
<!-- <div class="datagrid">
<div class="datagrid-item">
<h4>Language</h4>
Go
2023-09-29 15:28:51 -06:00
</div>
2023-10-01 10:56:18 -06:00
<div class="datagrid-item">
<h4>Build artifacts</h4>
Single static binary
2023-09-29 15:28:51 -06:00
</div>
2023-10-01 10:56:18 -06:00
</div> -->
2023-09-29 15:28:51 -06:00
</div>
</section>
{{include "/includes/footer.html"}}
</body>
</html>