Hallo zusammen, ich bin neu im Forum. Ich habe kürzlich begonnen, Traefik mit meinen Docker-Containern zu verwenden, und muss sagen, dass es fantastisch ist. Derzeit versuche ich, einen meiner Docker-Container dazu zu bringen, ein benutzerdefiniertes selbstsigniertes SSL-Zertifikat zu verwenden. Ich habe einige Anweisungen befolgt, die ich im Internet gesammelt habe, und alles andere funktioniert einwandfrei. Mein Container verwendet jedoch weiterhin ein Standardzertifikat von Traefik anstelle des benutzerdefinierten, das ich verwenden möchte. Kann mir jemand helfen, wie ich dies erreichen kann? Um ehrlich zu sein, bin ich mir nicht ganz klar darüber, wie Docker-Container ein SSL-Zertifikat auswählen und verwenden, und die Dokumentation, die ich gelesen habe, scheint dies ebenfalls nicht klar zu machen. Hier ist, was ich bisher getan habe.
Docker Compose YAML-Datei für Traefik
version: '3'
services:
traefik:
image: "traefik:v2.2"
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ~/docker-data/traefik/traefik.yml:/etc/traefik/traefik.yaml:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`traefik.com`)"
- "traefik.http.routers.api.entrypoints=insecure"
- "traefik.http.routers.api.service=api@internal"
- "traefik.http.routers.api.middlewares=api-auth"
- "traefik.http.middlewares.api-auth.basicauth.users=admin:..."
container_name: traefik
networks:
default:
external:
name: "web"
Meine Traefik YAML-Datei
providers: # Sie können bei Bedarf mehr als einen Provider hinzufügen
docker:
endpoint: "unix:///var/run/docker.sock"
network: "web" # Benutzerdefiniertes Docker-Netzwerk
exposedByDefault: false # Nur explizit freigegebene Container exponieren
file:
filename: ~/docker-data/traefik/dynamic_conf.yml
watch: true
entryPoints:
insecure:
address: ":80"
secure:
address: ":443"
api:
dashboard: true
Meine dynamische Konfigurationsdatei
# Dynamische Konfiguration
tls:
certificates:
- certFile: "~/ssl/bwtest-cert.pem"
keyFile: "~/ssl/bwtest-key.pem"
Mein Docker-Container:
```
---
version: '3'
services:
bwtest:
image: bitwardenrs/server
restart: always
container_name: bwtest
volumes:
- bw-test-data:/data
# - bw-test-ssl:/ssl
environment:
LOG_FILE: '/data/bw.log'
SHOW_PASSWORD_HINT: 'true'
labels:
- traefik.enable=true
- traefik.docker.network=web
- traefik.http.middlewares.redirect-https.redirectScheme.scheme=https
- traefik.http.middlewares.redirect-https.redirectScheme.permanent=true
- traefik.http.routers.bitwarden-ui-https.rule=Host(`bwtest.com`)
- traefik.http.routers.bitwarden-ui-https.entrypoints=secure
- traefik.http.routers.bitwarden-ui-https.tls=true
- traefik.http.routers.bitwarden-ui-https.service=bwtest
- traefik.http.routers.bitwarden-ui-http.rule=Host(`bwtest.com`)
- traefik.http.routers.bitwarden-ui-http.entrypoints=insecure
- traefik.http.routers.bitwarden-ui-http.middlewares=redirect-https
- traefik.http.routers.bitwarden-ui-http.service=bwtest
- traefik.http.services.bwtest.loadbalancer.server.port=80
- traefik.http.routers.mydomain.tls.domains[0].main=bwtest.com
- traefik.http.routers.mydomain.tls.domains[0].sans=www.bwtest.com
networks:
- web
networks:
web:
external: true
volumes:
bw-test-data:
bw-test-ssl: