Traefik Reverse Proxy ile Docker Konteynerlerine Otomatik SSL Tanımlama

Docker konteynerlerini yönetirken karşılaştığınız en büyük sorunlardan biri, her bir servis için SSL sertifikası almak ve güncel tutmaktır. Neyse ki, Traefik bu işi otomatikleştiriyor. Traefik, modern bir reverse proxy ve load balancer olarak, özellikle Docker ve Kubernetes gibi konteyner ortamları için tasarlanmıştır. En güzel yanı, Let's Encrypt ile entegre çalışarak sertifikaları sizin yerinize alıp yenilemesidir.

Traefik Nedir ve Neden Kullanmalısınız?

Traefik, geleneksel Nginx veya Apache'ye benzer bir reverse proxy'dir, ancak konteyner dünyası için optimize edilmiştir. Otomatik yapılandırma, dinamik servis keşfi ve HTTPS desteği gibi özellikler sunar. Özellikle Docker üzerinde çalışıyorsanız, her yeni konteyner başlattığınızda elle konfigürasyon yapmak zorunda kalmazsınız. Traefik, Docker API'sini dinler ve yeni konteynerları otomatik olarak fark eder.

Traefik ile Otomatik SSL Nasıl Çalışır?

Traefik, Let's Encrypt sertifika otoritesini kullanarak sertifikaları otomatik olarak alır ve yeniler. Bunun için sadece birkaç parametre yeterlidir. Traefik, gelen istekleri inceler, domene uygun sertifikayı kontrol eder, eğer yoksa hemen Let's Encrypt API'sine başvurarak sertifikayı oluşturur. Tüm bu süreç arka planda dakikalar içinde gerçekleşir.

Kurulum Adımları

Öncelikle, Traefik'i bir Docker konteyneri olarak çalıştıracağız. Aşağıdaki docker-compose.yml örneği biçilmiş kaftan:

version: '3' services: traefik: image: traefik:v2.10 container_name: traefik command: - "--api.insecure=true" - "--providers.docker=true" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.myresolver.acme.tlschallenge=true" - "--certificatesresolvers.myresolver.acme.email=ornek@email.com" - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./letsencrypt:/letsencrypt" labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=Host(`traefik.ornek.com`)" - "traefik.http.routers.api.service=api@internal" - "traefik.http.routers.api.middlewares=auth" - "traefik.http.middlewares.auth.basicauth.users=admin:$apr1$..."

Bu yapılandırmada dikkat edilmesi gereken noktalar: --certificatesresolvers.myresolver.acme.tlschallenge=true ile TLS-ALPN-01 challenge kullanıyoruz. Ayrıca acme.storage ile sertifikaların kaydedileceği yolu belirtiyoruz. E-posta adresinizi mutlaka gerçek bir adresle değiştirin, Let's Encrypt'in bildirimleri için gerekli.

Docker Servislerinizi Traefik ile Eşleştirme

Şimdi, arkasında Traefik'in olacağı bir web servisi tanımlayalım. Örneğin, basit bir Nginx konteyneri:

version: '3' services: web: image: nginx labels: - "traefik.enable=true" - "traefik.http.routers.web.rule=Host(`ornek.com`)" - "traefik.http.routers.web.entrypoints=websecure" - "traefik.http.routers.web.tls.certresolver=myresolver"

Burada traefik.http.routers.web.tls.certresolver=myresolver ifadesi, Traefik'e bu servis için SSL sertifikasını otomatik olarak almasını söyler. Traefik, ornek.com alan adına gelen istekleri dinler ve sertifikayı yönetir.

Avantajları Nelerdir?

Otomatik SSL sayesinde sertifika süresinin dolmasını beklemezsiniz. Traefik, sertifikaları 60 günden kısa sürede otomatik yeniler. Ayrıca, her yeni konteyner için ayrı ayrı SSL yapılandırması yapmak zorunda kalmazsınız. Bu, özellikle mikroservis mimarilerinde büyük zaman kazandırır. Unutmayın, Traefik sadece SSL değil, aynı zamanda rate limiting, circuit breaker ve daha birçok özellik sunar.

Traefik ile Docker konteynerlerinize SSL tanımlamak, birkaç satır kodla dakikalar içinde tamamlanır. Geleneksel yöntemlerle uğraşmaktan kurtulun.

Kurulumdan sonra traefik.ornek.com adresinden dashboard'a erişebilir, tüm yönlendirmeleri ve sertifika durumlarını görebilirsiniz. Yalnız dashboard'u dışarıya açık bırakmamanızı öneririz; yukarıdaki örnekte basic auth ile koruduk.

Son Söz

Traefik, DevOps ekibi olarak iş akışınızı sadeleştirecek güçlü bir araç. Otomatik SSL özelliğiyle, sertifika yönetimini tamamen unutabilirsiniz. Deneyin, farkı görün. Eğer sorun yaşarsanız, Traefik'in resmi dokümantasyonu oldukça kapsamlıdır. HızlıVDS olarak biz de sunucularımızda bu teknolojiyi kullanıyoruz ve size öneriyoruz.

← Tüm yazılar