auto-ssl / auto-ssl/lua-resty-auto-ssl
combine certificates for multiple domains into one
- Dominant language
- Lua
- Stars
- 2k
- Forks
- 184
- PR merge metrics
- No merged PRs in 30d
Description
Let's Encrypt imposes (quite reasonable) [rate limits](https://letsencrypt.org/docs/rate-limits/) on the issuance of new certificates. Currently we request one certificate for each domain. This means that `images.autossl.org` and `secure.autossl.org` both get their own certificate. The number of certificates which can be issued like this is 25 per week - effectively limiting us to 25 subdomains.
The official way of dealing with this is combining the subdomains (up to 100) into one certificate. Dehydrated has support for this via a [`domains.txt`-file](https://github.com/lukas2511/dehydrated/blob/master/docs/domains_txt.md). To implement this here, I'd suggest grouping domains by their main domain name (according to the [public suffix list](https://publicsuffix.org/). Each group would get one `domains.txt` and `config`-file (with `DOMAINS_TXT` set). Dehydrated is then called with `--config` instead of `--domain`.
Combing the certificates gives us 100 subdomains instead of 25. If that is still too low, we could repeat this process for 25 subdomain-groups, giving us 2500 subdomains for each domain.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how the current per-domain certificate request and its config are generated. Read dehydrated's domains.txt documentation and investigate grouping domains by the public suffix list, with one domains.txt and config per group. Done means grouped certificates are requested and renewed without exceeding the intended domain limits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua, nginx
- Domain
- infrastructure, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100