feat: Implement SSL Provider selection feature with tests and documentation

- Added functionality to select SSL Provider (Auto, Let's Encrypt, ZeroSSL) in the Caddy Manager.
- Updated the ApplyConfig method to handle different SSL provider settings and staging flags.
- Created unit tests for various SSL provider scenarios, ensuring correct behavior and backward compatibility.
- Enhanced frontend System Settings page to include SSL Provider dropdown with appropriate options and descriptions.
- Updated documentation to reflect new SSL Provider feature and its usage.
- Added QA report detailing testing outcomes and security verification for the SSL Provider implementation.
This commit is contained in:
GitHub Actions
2025-12-06 20:59:34 +00:00
parent 7624f6fad8
commit 2c1cf5f0ac
10 changed files with 1165 additions and 26 deletions
+24
View File
@@ -11,7 +11,31 @@ Here's everything Charon can do for you, explained simply.
**Why you care:** Without it, browsers scream "NOT SECURE!" and people won't trust your site.
**What you do:** Nothing. Charon gets free certificates from Let's Encrypt and renews them automatically.
### Choose Your SSL Provider
**What it does:** Lets you select which Certificate Authority (CA) issues your SSL certificates.
**Why you care:** Different providers have different rate limits and reliability. You also get a staging option for testing.
**Where to find it:** Go to System Settings → SSL Provider dropdown
**Available options:**
- **Auto (Recommended)** — The smart default. Tries Let's Encrypt first, automatically falls back to ZeroSSL if there are any issues. Best reliability with zero configuration.
- **Let's Encrypt (Prod)** — Uses only Let's Encrypt production servers. Choose this if you specifically need Let's Encrypt certificates and have no rate limit concerns.
- **Let's Encrypt (Staging)** — For testing purposes only. Issues certificates that browsers won't trust, but lets you test your configuration without hitting rate limits. See [Testing SSL Certificates](acme-staging.md) for details.
- **ZeroSSL** — Uses only ZeroSSL as your certificate provider. Choose this if you prefer ZeroSSL or are hitting Let's Encrypt rate limits.
**Recommended setting:** Leave it on "Auto (Recommended)" unless you have a specific reason to change it. The auto mode gives you the best of both worlds—Let's Encrypt's speed with ZeroSSL as a backup.
**When to change it:**
- Testing configurations → Use "Let's Encrypt (Staging)"
- Hitting rate limits → Switch to "ZeroSSL"
- Specific CA requirement → Choose that specific provider
- Otherwise → Keep "Auto"
### Smart Certificate Cleanup
**What it does:** When you delete websites, Charon asks if you want to delete unused certificates too.