Giriş
Kendi barındırma ortamını kurmak ve yönetmek, özellikle uygulamalarınızı barındırmak için Bir Sanal Özel Sunucu (VPS) kullandığınızda ödüllendirici bir çaba olabilir. Modern bir ters proxy ve mikroservisler için yük dengeleme aracı olan Traefik, yönlendirme ihtiyaçlarınızı kolaylaştırabilir. Bu rehberde, Traefik’i VPS’nizde tüm Docker uygulamalarınız için SSL sertifikalarını otomatik olarak yönetmek amacıyla nasıl kuracağınızı keşfedeceğiz.
VPS’nizde Traefik Kurulumu
Aşağıdaki adımları takip ederek Traefik’i VPS’nizde kurabilir ve çalıştırabilirsiniz.
Gereksinimler
- Bir VPS (tüm VPS karşılaştırmamızı görmek için tam VPS karşılaştırmamıza göz atın)
- VPS’nize kurulu Docker ve Docker Compose
- Docker ve ağlar hakkında temel bilgi
1. Adım: VPS Sağlayıcınızı Seçin
Doğru VPS sağlayıcısını seçmek, kendi barındırma deneyiminizi etkiler. İşte en iyi sağlayıcıların bir karşılaştırması:
| Sağlayıcı | Aylık Maliyet (EUR/USD) | Notlar |
|---|---|---|
| Contabo VPS | 5.99 EUR | İyi CPU ve depolama seçenekleri |
| Hetzner Cloud | 4.15 EUR | Bütçe dostu ve mükemmel özelliklerle |
| DigitalOcean | 6 USD | Geliştirici dostu, bölgelere göre değişir |
| Vultr | 6 USD | Esnek faturalandırma seçenekleri |
| Linode | 5 USD | Mükemmel destek ve topluluk |
2. Adım: Docker ve Docker Compose Yükleme
Çoğu Linux dağıtımı için, Docker ve Docker Compose’u aşağıdaki komutlarla kurabilirsiniz:
# Paket indeksini güncelle
sudo apt-get update
# Docker'ı yükle
sudo apt-get install -y docker.io
# Docker Compose'u yükle
sudo apt-get install -y docker-compose
3. Adım: Docker Ağını Yapılandırma
Traefik ve uygulamalarınız için bir Docker ağı oluşturun:
docker network create web
4. Adım: Traefik Yapılandırması
Traefik’i yüklemek için, onun için bir dizin oluşturun:
mkdir traefik && cd traefik
Şimdi aşağıdaki içeriğe sahip bir docker-compose.yml dosyası oluşturun:
version: '3.7'
services:
reverse_proxy:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./letsencrypt:/letsencrypt"
networks:
- web
networks:
web:
external: true
[email protected] kısmını, Let’s Encrypt bildirimleri için gerçek e-posta adresinizle değiştirin.
5. Adım: Traefik’i Başlatın
Traefik’i başlatmak için aşağıdaki komutu çalıştırın:
docker-compose up -d
Traefik’in çalıştığını doğrulamak için http://YOUR_VPS_IP:8080 adresine erişin; burada Traefik panelini görebilirsiniz.
6. Adım: Docker Uygulamalarını Dağıtmak
Traefik çalışırken, yönlendirme ve SSL entegrasyonu için etiketler kullanarak diğer Docker uygulamalarınızı dağıtabilirsiniz. İşte bir uygulama yapılandırması örneği:
version: '3.7'
services:
my_app:
image: my_app_image
labels:
- "traefik.enable=true"
- "traefik.http.routers.my_app.rule=Host(`yourdomain.com`)"
- "traefik.http.routers.my_app.entrypoints=websecure"
- "traefik.http.routers.my_app.tls=true"
- "traefik.http.routers.my_app.tls.certresolver=myresolver"
networks:
- web
7. Adım: Uygulamanıza Erişim
Uygulamanız dağıtıldıktan sonra, güvenli bir şekilde https://yourdomain.com adresinden erişebilirsiniz.
Sıkça Sorulan Sorular
Uygulamamın alan adı veya alt alan adı yoksa ne yapmalıyım?
Traefik kullanmak, SSL sertifikası almak için bir alan adı veya alt alan adı atamanızı gerektirir ve bu Let’s Encrypt ile yapılır. Alan adınız yoksa, bir alan adı kaydetmek için domain registrar’ınızı kullanabilirsiniz. Alternatif olarak, dinamik DNS hizmeti kullanabilirsiniz; birçok sağlayıcı bu özelliği destekler ve sabit alan adına gerek kalmadan trafik yönlendirmesi yapmanıza olanak tanır.
Traefik SSL sertifikalarını nasıl yönetir?
Traefik, ücretsiz SSL sertifikaları sağlayan otomatik sertifika otoritesi olan Let’s Encrypt ile sorunsuz entegrasyon sağlar. Yukarıda gösterildiği gibi docker-compose.yml dosyasında belirli ayarları yapılandırarak, SSL sertifikalarınızı otomatik talep eder ve yeniler. Bu, Docker uygulamalarınıza olan bağlantılarınızın güvenli kalmasını sağlar ve manuel müdahale gerektirmez.
Traefik üretim ortamı için uygundur mu?
Evet, Traefik, üretim ortamları için tasarlanmış olup, sorunsuz SSL yönetimi ve mikroservis mimarisi desteği sunar. Yük dengeleme, otomatik yönlendirme ve kolay anlaşılır bir panel gibi özellikleriyle, herhangi bir üretim ortamında güçlü bir araçtır. Şirketler, geliştiriciler ve homelab kullanıcıları, Traefik’i çeşitli kendi barındırma ortamlarında başarıyla kullanmaktadır.
Sonuç
Traefik’i kullanarak VPS’nizdeki Docker uygulamalarınız için SSL otomasyonu sağlamak, yönetim sürecini kolaylaştırır, güvenliği artırır ve zamandan tasarruf sağlar. HTTPS’nin giderek daha önemli hale geldiği günümüzde, bu yapılandırma, her geliştirici veya homelabber için değerli bir yatırımdır. İyi kendi barındırma deneyimleri!