Skip to content

Commit cb4acbd

Browse files
committed
Improve Certificate Section
Creates distinct sections for your own certificate, Let's Encrypt, and the traefik.me options. Cleaned up the table a little that explains the two cert files. I changed from the `cert.pem` to __cert.pem__ so it the line wraps correctly. Cleaned up the troubleshooting section a little, and added a note about redownloading the traefik.me certificate
1 parent ee1dd0e commit cb4acbd

File tree

1 file changed

+38
-15
lines changed

1 file changed

+38
-15
lines changed

docs/installation/docker-custom.md

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,38 +37,61 @@ files, where each file represents a different password. They are each randomly g
3737
## TLS
3838

3939
All public facing sites need to use HTTPS, and it's definitely a stumbling block for the uninitiated. Fortunately, `isle-dc` is
40-
set up to use HTTPS by default. Even when running `make demo`, your site runs over HTTPS at `https://islandora.traefik.me`. The
41-
default certificates are stored in the `certs` folder of `isle-dc`, and you can simply overwrite them with certificates from your
40+
set up to use HTTPS by default. Even when running `make demo`, your site runs over HTTPS at `https://islandora.traefik.me`.
41+
42+
### Using your own certificates
43+
44+
The default certificates are stored in the `certs` folder of `isle-dc`, and you can simply overwrite them with certificates from your
4245
certificate authority. As long as the certificates match the `DOMAIN` variable in your `.env` file, that is.
4346

44-
| File | Purpose |
45-
| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46-
| `privkey.pem` | A PEM encoded private key used to sign your certificate |
47-
| `cert.pem` | A PEM encoded certificate that also contains the issuer's certificate as well. Most certificate authorities offer "Full Chain" or "With Issuer" certificates that contain everything you need. Occassionally, you may find yourself needing to manually concatenate your certificate with the issuer certificate by hand. In that case, the certificate for your site goes first, and the issuer's certificate is appended afterwards. |
47+
| File | Purpose |
48+
| :---- | :------- |
49+
| __cert.pem__ | A PEM encoded certificate that also contains the issuer's certificate as well. Most certificate authorities offer "Full Chain" or "With Issuer" certificates that contain everything you need. Occassionally, you may find yourself needing to manually concatenate your certificate with the issuer certificate by hand. In that case, the certificate for your site goes first, and the issuer's certificate is appended afterwards. |
50+
| __privkey.pem__ | A PEM encoded private key used to sign your certificate |
51+
4852

49-
### Using Let's Encrypt instead of Certificate Files
53+
### Requesting Certificates through Let's Encrypt
5054

51-
To use Let's Encrypt to acquire your SSL Certificate, set the following in your .env file
55+
To use Let's Encrypt to acquire your SSL Certificate, set the following in your .env file and run `make -B docker-compose.yml && make up`.
5256

5357
```
5458
USE_ACME=true
5559
5660
```
5761

58-
Be sure to replace `your-mail@example.org` with the email address you've associated with Let's Encrypt.
62+
Be sure to replace `your-email@example.org` with the email address you've associated with Let's Encrypt.
5963

60-
#### Troubleshooting
64+
The way this is setup, is it performs an HTTP Challenge to verify you are in control of the domain. So your system will need to be accessible at `http://DOMAIN/`.
6165

62-
If you are still getting security exceptions, check what certificate is being used through your browser. Setting `TRAEFIK_LOG_LEVEL=DEBUG` in your `.env` file will help out greatly when debugging Traefik. You can tail the logs with `docker-compose logs -tf traefik`
66+
??? warning "Let's Encrypt Rate Limit"
67+
If you aren't careful, you can hit Let's Encrypt's rate limit, and you'll be locked out for up to a week! If you want to use their staging server instead while testing things out, add the following to your .env file
6368

64-
If you aren't careful, you can hit Let's Encrypt's rate limit, and you'll be locked out for up to a week! If you want to use their staging server instead while testing things out, add the following to your .env file
69+
```
70+
ACME_SERVER=https://acme-staging-v02.api.letsencrypt.org/directory
71+
```
72+
73+
You'll still get security exceptions when it's working, but you should be able to check the certificate from the browser and confirm you are getting it from the staging server.
6574

6675
```
67-
ACME_SERVER=https://acme-staging-v02.api.letsencrypt.org/directory
6876
```
6977

70-
You'll still get security exceptions when it's working, but you should be able to check the certificate from the browser and confirm you are
71-
getting it from the staging server.
78+
### Troubleshooting Certificate Issues
79+
80+
If you are still getting security exceptions, check what certificate is being used through your browser. Setting `TRAEFIK_LOG_LEVEL=DEBUG` in your `.env` file will help out greatly when debugging Traefik. You can tail the logs with `docker-compose logs -tf traefik`.
81+
82+
#### islandora.traefik.me SSL certificate expired or revoked
83+
The _*.traefik.me_ certificate that covers `islandora.traefik.me` will need to be redownloaded ocassionally, due to the certificate expiring or possibly being revoked. You can download the updated certificates by performing the following commands:
84+
85+
```
86+
rm certs/cert.pem
87+
rm certs/privkey.pem
88+
make download-default-certs
89+
docker-compose restart traefik
90+
```
91+
92+
!!! note "traefik.me Certificate Note"
93+
94+
Please note that sometimes the upstream provider of the traefik.me certificate takes a couple of days to update the certificiate after it expires or is accidently revoked.
7295

7396
## Building and Deploying Your Custom Container
7497

0 commit comments

Comments
 (0)