Skip to content

Commit e54e2ed

Browse files
WarheadsSEaxilleaskhill-fbmc
committed
Merge branch 'khill-fbmc-master-patch-13333' into 'master'
Add Let's Encrypt rate limits to troubleshooting section See merge request https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/7131 Merged-by: Jason Plum <[email protected]> Approved-by: Jason Plum <[email protected]> Approved-by: Achilleas Pipinellis <[email protected]> Reviewed-by: Achilleas Pipinellis <[email protected]> Co-authored-by: Achilleas Pipinellis <[email protected]> Co-authored-by: Kevin Hill <[email protected]>
2 parents a04ab5c + 559b7c4 commit e54e2ed

File tree

2 files changed

+30
-11
lines changed

2 files changed

+30
-11
lines changed

doc/settings/ssl/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ To enable Let's Encrypt:
7272
sudo gitlab-ctl reconfigure
7373
```
7474

75+
If Let's Encrypt fails to issue a certificate, see the
76+
[troubleshooting section](ssl_troubleshooting.md#lets-encrypt-fails-on-reconfigure)
77+
for potential solutions.
78+
7579
### Renew the certificates automatically
7680

7781
Default installations schedule renewals after midnight on every 4th day of the month.

doc/settings/ssl/ssl_troubleshooting.md

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -201,25 +201,40 @@ Where HOSTNAME is the hostname of the certificate.
201201

202202
## Let's Encrypt fails on reconfigure
203203

204+
NOTE:
205+
You can test your domain using the [Let's Debug](https://letsdebug.net/)
206+
diagnostic tool. It can help you figure out why you can't issue a Let's Encrypt
207+
certificate.
208+
204209
When you reconfigure, there are common scenarios under which Let's Encrypt may fail:
205210

206-
1. Let's Encrypt may fail if your server isn't able to reach the Let's Encrypt verification servers or vice versa:
211+
- Let's Encrypt may fail if your server isn't able to reach the Let's Encrypt verification servers or vice versa:
212+
213+
```shell
214+
letsencrypt_certificate[gitlab.domain.com] (letsencrypt::http_authorization line 3) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 20) had an error: RuntimeError: [gitlab.domain.com] Validation failed for domain gitlab.domain.com
215+
```
216+
217+
If you run into issues reconfiguring GitLab due to Let's Encrypt [make sure you have ports 80 and 443 open and accessible](index.md#enable-the-lets-encrypt-integration).
207218

208-
```shell
209-
letsencrypt_certificate[gitlab.domain.com] (letsencrypt::http_authorization line 3) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 20) had an error: RuntimeError: [gitlab.domain.com] Validation failed for domain gitlab.domain.com
210-
```
219+
- Your domain's Certification Authority Authorization (CAA) record does not allow Let's Encrypt to issue a certificate for your domain. Look for the following error in the reconfigure output:
211220

212-
If you run into issues reconfiguring GitLab due to Let's Encrypt [make sure you have ports 80 and 443 open and accessible](index.md#enable-the-lets-encrypt-integration).
221+
```shell
222+
letsencrypt_certificate[gitlab.domain.net] (letsencrypt::http_authorization line 5) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 25) had an error: RuntimeError: ruby_block[create certificate for gitlab.domain.net] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/acme/resources/certificate.rb line 108) had an error: RuntimeError: [gitlab.domain.com] Validation failed, unable to request certificate
223+
```
213224

214-
1. Your domain's Certification Authority Authorization (CAA) record does not allow Let's Encrypt to issue a certificate for your domain. Look for the following error in the reconfigure output:
225+
- If you're using a test domain such as `gitlab.example.com`, without a certificate, you'll see the `unable to request certificate` error shown above. In that case, disable Let's Encrypt by setting `letsencrypt['enable'] = false` in `/etc/gitlab/gitlab.rb`.
215226

216-
```shell
217-
letsencrypt_certificate[gitlab.domain.net] (letsencrypt::http_authorization line 5) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 25) had an error: RuntimeError: ruby_block[create certificate for gitlab.domain.net] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/acme/resources/certificate.rb line 108) had an error: RuntimeError: [gitlab.domain.com] Validation failed, unable to request certificate
218-
```
227+
- [Let's Encrypt enforces rate limits](https://letsencrypt.org/docs/rate-limits/),
228+
which is at the top-level domain. In case you're using your cloud provider's
229+
hostname as the `external_url`, for example `*.cloudapp.azure.com`, Let's
230+
Encrypt would enforce limits to `azure.com`, which could make the certificate
231+
creation incomplete.
219232

220-
1. If you're using a test domain such as `gitlab.example.com`, without a certificate, you'll see the `unable to request certificate` error shown above. In that case, disable Let's Encrypt by setting `letsencrypt['enable'] = false` in `/etc/gitlab/gitlab.rb`.
233+
In that case, you can try renewing the Let's Encrypt certificates manually:
221234

222-
You can test your domain using the [Let's Debug](https://letsdebug.net/) diagnostic tool. It can help you figure out why you can't issue a Let's Encrypt certificate.
235+
```shell
236+
sudo gitlab-ctl renew-le-certs
237+
```
223238

224239
## Using an internal CA certificate with GitLab
225240

0 commit comments

Comments
 (0)