برنامه نویسی
Traefik با استفاده از گواهی SSL متعلق به

این پست اصلی اینجاست
نمونه پیکربندی docker-compose.yml برای Traefik با گواهی SSL
در زیر نمونه ای از پیکربندی docker-compose.yml برای Traefik است که از گواهی SSL موجود شما استفاده می کند. در این مثال، ما از گواهینامه و فایل های کلید خصوصی از قبل موجود استفاده خواهیم کرد.
فایل docker-compose.yml را ایجاد کنید
version: '3.8'
services:
traefik:
image: traefik:v2.9
container_name: traefik
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./certs:/certs
- /var/run/docker.sock:/var/run/docker.sock
command:
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --providers.docker=true
- --providers.docker.network=web
- --api.dashboard=true
- --log.level=INFO
- --certificatesresolvers.myresolver.acme.tlschallenge=true
- --certificatesresolvers.myresolver.acme.email=your-email@example.com
- --certificatesresolvers.myresolver.acme.storage=/acme.json
- --tls.certificates.0.certfile=/certs/your-certificate.crt
- --tls.certificates.0.keyfile=/certs/your-private-key.key
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`traefik.yourdomain.com`)"
- "traefik.http.routers.api.service=api@internal"
- "traefik.http.routers.api.tls=true"
- "traefik.http.routers.api.tls.certresolver=myresolver"
networks:
- web
networks:
web:
external: false
توضیح
- دستور:
- –entrypoints.web.address=:80: نقطه ورودی HTTP را در پورت 80 تعریف می کند.
- –entrypoints.websecure.address=:443: نقطه ورودی HTTPS را در پورت 443 تعریف می کند.
- –providers.docker=true: Docker را به عنوان ارائه دهنده خدمات فعال می کند.
- –providers.docker.network=web: از شبکه وب برای خدمات داکر استفاده می کند.
- –api.dashboard=true: داشبورد Traefik را فعال می کند.
- –log.level=INFO: سطح گزارش را روی INFO تنظیم می کند.
- –certificatesresolvers.myresolver.acme.tlschallenge=true: ACME را با چالش TLS-ALPN-01 فعال می کند (اختیاری، در صورت عدم استفاده می توان نظر داد).
- –certificatesresolvers.myresolver.acme.email=your-email@example.com: ایمیل برای ACME (اختیاری، در صورت عدم استفاده می توان نظر داد).
- –certificatesresolvers.myresolver.acme.storage=/acme.json: مکان ذخیره سازی ACME را مشخص می کند (اختیاری است، در صورت عدم استفاده می توان نظر داد).
- –tls.certificates.0.certfile=/certs/your-certificate.crt: مسیر فایل گواهی شما.
- –tls.certificates.0.keyfile=/certs/your-private-key.key: مسیر فایل کلید خصوصی شما.
- برچسب ها:
- traefik.enable=true: Traefik را برای این سرویس فعال می کند.
- traefik.http.routers.api.rule=Host(traefik.yourdomain.com): یک قانون برای روتر API تعریف می کند.
- traefik.http.routers.api.service=api@internal: روتر API را به سرویس داخلی Traefik هدایت می کند.
- traefik.http.routers.api.tls=true: TLS را برای روتر API فعال می کند.
- traefik.http.routers.api.tls.certresolver=myresolver: از حل کننده گواهی تعریف شده استفاده می کند.
اطمینان حاصل کنید که ساختار پوشه شما به شرح زیر است:
.
├── docker-compose.yml
└── certs
├── your-certificate.crt
└── your-private-key.key
Traefik را شروع کنید
هنگامی که تمام فایل های مورد نیاز را دارید، Traefik را با استفاده از دستور زیر راه اندازی کنید:
docker-compose up -d
اکنون Traefik گواهی SSL شما را با پیکربندی ارائه شده از طریق دستور و برچسب ها اجرا می کند و استفاده می کند.
URL متعارف
برای اطلاعات بیشتر، به پست اصلی در وبلاگ من مراجعه کنید.