File tree 4 files changed +66
-1
lines changed
4 files changed +66
-1
lines changed Original file line number Diff line number Diff line change 1
- certificates /acme.json
1
+ certificates /*
2
2
.idea
3
3
docker-compose.yml
4
4
configs
Original file line number Diff line number Diff line change
1
+ tls :
2
+ options :
3
+ default :
4
+ minVersion : VersionTLS12
5
+ mintls13 :
6
+ minVersion : VersionTLS13
7
+
8
+ stores :
9
+ default :
10
+ defaultCertificate :
11
+ certFile : /certs/local.cert.pem
12
+ keyFile : /certs/local.key.pem
Original file line number Diff line number Diff line change @@ -12,8 +12,10 @@ services:
12
12
container_name : reverse_proxy_traefik
13
13
ports :
14
14
- 80:80
15
+ - 443:443
15
16
volumes :
16
17
- /var/run/docker.sock:/var/run/docker.sock
18
+ - ./certificates:/certs:ro
17
19
- ./configs/traefik.yml:/etc/traefik/traefik.yml
18
20
- ./configs/dynamic:/etc/traefik/dynamic
19
21
networks :
Original file line number Diff line number Diff line change @@ -235,6 +235,57 @@ services:
235
235
- " traefik.http.services.someservice.loadbalancer.server.port=8080"
236
236
` ` `
237
237
238
+ ### Enable SSL locally
239
+
240
+ 1. Install [mkcert](https://github.com/FiloSottile/mkcert)
241
+
242
+ For example on macOS:
243
+
244
+ ` ` ` bash
245
+ brew install mkcert
246
+ brew install nss # if you use Firefox
247
+ ```
248
+
249
+ Now install the local CA:
250
+
251
+ ``` bash
252
+ mkcert -install
253
+ ```
254
+
255
+ 3 . Generate certificate
256
+
257
+ Replace ` someservice ` with the domains that you are using for local development.
258
+
259
+ ``` bash
260
+ cd certificates
261
+ mkcert -key-file local.key.pem -cert-file local.cert.pem " *.local" " *.test" " *.someservice.test" " *.someservice.local"
262
+ ```
263
+
264
+ ### Enable SSL in the docker-compose file
265
+
266
+ ``` yaml
267
+ version : ' 3.7'
268
+ networks :
269
+ frontend :
270
+ external :
271
+ name : reverse-proxy-docker-traefik_routing
272
+ services :
273
+ someservice :
274
+ restart : always
275
+ # ...
276
+ labels :
277
+ - ...
278
+ # http
279
+ - ...
280
+ # https
281
+ - " traefik.http.routers.someservice-https.rule=Host(`someservice.test`)"
282
+ - " traefik.http.routers.someservice-https.entrypoints=websecure"
283
+ - " traefik.http.routers.someservice-https.tls=true"
284
+ networks :
285
+ - frontend
286
+ - ...
287
+ ` ` `
288
+
238
289
## Credits
239
290
240
291
I used the following resources to create this setup:
You can’t perform that action at this time.
0 commit comments