Skip to content

Commit cb927f9

Browse files
Merge pull request #27 from esnet/develop/docs
fix missing image in README
2 parents 992d189 + b51365d commit cb927f9

18 files changed

Lines changed: 404 additions & 47 deletions

File tree

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@ repos:
1717
language: system
1818
pass_filenames: false
1919
types: [go]
20+
21+
- repo: https://github.com/gitleaks/gitleaks
22+
rev: v8.30.1
23+
hooks:
24+
- id: gitleaks

README.md

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,17 @@
44

55
## How It Works
66

7-
When a client successfully completes an ACME challenge, `acme-proxy` forwards the certificate signing request to an external certificate authority (CA) that supports External Account Binding (EAB). The external CA signs the certificate and returns it to the client through `acme-proxy`.
7+
`acme-proxy` runs as an ACME server inside your enterprise environment, acting as an intermediary between your internal infrastructure and an external certificate authority service (such as Sectigo). When a client successfully completes an ACME challenge, `acme-proxy` forwards the certificate signing request to an external certificate authority (CA) that supports External Account Binding (EAB). The external CA signs the certificate and returns it to the client through `acme-proxy`.
8+
9+
**Certificate Request Flow:**
10+
11+
1. Your internal server (behind a firewall perimeter) requests a certificate from `acme-proxy` using standard ACME clients like certbot, acme.sh or cert-manager.io if you're using Kubernetes.
12+
2. `acme-proxy` presents cryptographic challenges to verify domain ownership
13+
3. Once validation succeeds, `acme-proxy` forwards the certificate signing request to your external CA using External Account Binding (EAB)
14+
4. The external CA signs the certificate
15+
5. `acme-proxy` retrieves the certificate bundle and returns it to your server
16+
17+
![sequence diagram](docs/assets/highlevel-flow.png)
818

919
**Note:** LetsEncrypt does not support EAB. However, commercial CAs such as Sectigo and ZeroSSL do.
1020

@@ -40,20 +50,6 @@ Using ACME with commercial CAs in enterprise environments provides several advan
4050
- Leverage standard ACME clients (Certbot, acme.sh, cert-manager.io) for certificate issuance, automatic renewals.
4151
- Enable self-service certificate requests for development teams
4252

43-
## ACME Proxy Workflow
44-
45-
`acme-proxy` runs as an ACME server inside your enterprise environment, acting as an intermediary between your internal infrastructure and an external certificate authority service (such as Sectigo).
46-
47-
**Certificate Request Flow:**
48-
49-
1. Your internal server (behind a firewall perimeter) requests a certificate from `acme-proxy` using standard ACME clients like certbot, acme.sh or cert-manager.io if you're using Kubernetes.
50-
2. `acme-proxy` presents cryptographic challenges to verify domain ownership
51-
3. Once validation succeeds, `acme-proxy` forwards the certificate signing request to your external CA using External Account Binding (EAB)
52-
4. The external CA signs the certificate
53-
5. `acme-proxy` retrieves the certificate bundle and returns it to your server
54-
55-
![sequence diagram](docs/sequence.png)
56-
5753
## Quick Start
5854

5955
```sh
@@ -118,7 +114,6 @@ The most important parts of the config are -
118114
"account_email": "",
119115
"eab_kid": "",
120116
"eab_hmac_key": "",
121-
"certlifetime": 30,
122117
"metrics": {
123118
"enabled": true,
124119
"port": 9234,

docs/assets/highlevel-flow.png

62.3 KB
Loading

docs/content/examples.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/content/troubleshoot.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
+++
2+
title = 'Troubleshoot'
3+
weight = 20
4+
BookToC = true
5+
+++

docs/public/categories/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ <h2 class="book-brand">
136136

137137

138138

139+
140+
139141
<li>
140142

141143

@@ -165,8 +167,6 @@ <h2 class="book-brand">
165167

166168

167169

168-
169-
170170
</ul>
171171

172172

docs/public/client/index.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@
2222
Table of Contents# Installing ACME Clients Account Registration Configuring Auto-Renewal via Systemd Log Management Installing ACME Clients# Certbot# Note: Certbot’s actively maintained distribution is via Snap. The .deb packages available in apt repositories are no longer maintained by the Certbot project and ship outdated versions.">
2323
<meta property="og:locale" content="en">
2424
<meta property="og:type" content="article">
25+
<meta property="article:modified_time" content="2026-04-12T20:08:41-05:00">
2526

2627

2728
<meta itemprop="name" content="ACME Clients">
2829
<meta itemprop="description" content="ACME Clients# This guide covers installation and system-level configuration of ACME clients for use with acme-proxy. It is intended for system administrators deploying certificate automation on behalf of end users.
2930
For certificate issuance commands and per-scenario usage, see user.md.
3031
Table of Contents# Installing ACME Clients Account Registration Configuring Auto-Renewal via Systemd Log Management Installing ACME Clients# Certbot# Note: Certbot’s actively maintained distribution is via Snap. The .deb packages available in apt repositories are no longer maintained by the Certbot project and ship outdated versions.">
32+
<meta itemprop="dateModified" content="2026-04-12T20:08:41-05:00">
3133
<meta itemprop="wordCount" content="843">
3234

3335
<title>ACME Clients | ACME Proxy</title>
@@ -145,6 +147,8 @@ <h2 class="book-brand">
145147

146148

147149

150+
151+
148152
<li>
149153

150154

@@ -174,8 +178,6 @@ <h2 class="book-brand">
174178

175179

176180

177-
178-
179181
</ul>
180182

181183

@@ -478,6 +480,10 @@ <h2 id="log-management">Log Management<a class="anchor" href="#log-management">#
478480
<div class="flex flex-wrap justify-between">
479481

480482
<div>
483+
<a class="flex align-center" href="https://github.com/esnet/acme-proxy/commit/bddb8b9e27907357bb040d99257d2cae683cb5bb" title='Last modified by Kapil Agrawal | April 12, 2026' target="_blank" rel="noopener">
484+
<img src="/icons/calendar.svg" class="book-icon" alt="Calendar" />
485+
<span>April 12, 2026</span>
486+
</a>
481487

482488
</div>
483489

docs/public/firewall/index.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
<meta property="og:title" content="Port Requirements">
1717
<meta property="og:locale" content="en">
1818
<meta property="og:type" content="article">
19+
<meta property="article:modified_time" content="2026-04-12T20:08:41-05:00">
1920

2021

2122
<meta itemprop="name" content="Port Requirements">
23+
<meta itemprop="dateModified" content="2026-04-12T20:08:41-05:00">
2224

2325
<title>Port Requirements | ACME Proxy</title>
2426
<link rel="icon" href="/favicon.png" >
@@ -135,6 +137,8 @@ <h2 class="book-brand">
135137

136138

137139

140+
141+
138142
<li>
139143

140144

@@ -164,8 +168,6 @@ <h2 class="book-brand">
164168

165169

166170

167-
168-
169171
</ul>
170172

171173

@@ -224,6 +226,10 @@ <h3>Port Requirements</h3>
224226
<div class="flex flex-wrap justify-between">
225227

226228
<div>
229+
<a class="flex align-center" href="https://github.com/esnet/acme-proxy/commit/bddb8b9e27907357bb040d99257d2cae683cb5bb" title='Last modified by Kapil Agrawal | April 12, 2026' target="_blank" rel="noopener">
230+
<img src="/icons/calendar.svg" class="book-icon" alt="Calendar" />
231+
<span>April 12, 2026</span>
232+
</a>
227233

228234
</div>
229235

docs/public/icons/calendar.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/public/index.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<meta itemprop="description" content="What is ACME Proxy?# acme-proxy is a standalone ACME server built on step-ca that operates in registration authority (RA) mode. It accepts certificate orders and validates certificate requests using the ACME protocol (RFC 8555), but does NOT sign certificates or store private keys.
3030
It runs as a standalone server inside your enterprise environment, acting as an intermediary between your internal infrastructure and an external certificate authority service (such as Sectigo).
3131
Certificate Request Flow:">
32+
<meta itemprop="dateModified" content="2026-04-12T20:08:41-05:00">
3233
<meta itemprop="wordCount" content="141">
3334

3435
<title>ACME Proxy | ACME Proxy</title>
@@ -147,6 +148,8 @@ <h2 class="book-brand">
147148

148149

149150

151+
152+
150153
<li>
151154

152155

@@ -176,8 +179,6 @@ <h2 class="book-brand">
176179

177180

178181

179-
180-
181182
</ul>
182183

183184

@@ -266,6 +267,10 @@ <h3>ACME Proxy</h3>
266267
<div class="flex flex-wrap justify-between">
267268

268269
<div>
270+
<a class="flex align-center" href="https://github.com/esnet/acme-proxy/commit/bddb8b9e27907357bb040d99257d2cae683cb5bb" title='Last modified by Kapil Agrawal | April 12, 2026' target="_blank" rel="noopener">
271+
<img src="/icons/calendar.svg" class="book-icon" alt="Calendar" />
272+
<span>April 12, 2026</span>
273+
</a>
269274

270275
</div>
271276

0 commit comments

Comments
 (0)