برنامه نویسی

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
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح

  1. دستور:
  • –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: مسیر فایل کلید خصوصی شما.
  1. برچسب ها:
  • 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 متعارف
برای اطلاعات بیشتر، به پست اصلی در وبلاگ من مراجعه کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا