Nginx Proxy Manager ile Docker Konteynerlarını Yönetme

Nginx Proxy Manager, Docker tabanlı uygulamalar için reverse proxy yönetimini kolaylaştıran kullanıcı dostu bir arayüz sunan açık kaynaklı bir çözümdür.

Nginx Proxy Manager, Docker tabanlı uygulamalar için reverse proxy yönetimini kolaylaştıran kullanıcı dostu bir arayüz sunan açık kaynaklı bir çözümdür. Özellikle birden fazla konteyner çalıştıran ortamlarda, trafiği yönlendirme, SSL sertifikalarını otomatikleştirme ve erişim kontrollerini merkezi olarak yönetme ihtiyacını karşılar. Bu makale, kurumsal düzeyde Docker konteyner yönetimi için Nginx Proxy Manager’ı (NPM) nasıl entegre edeceğinizi pratik adımlarla anlatacaktır. Kurulumdan başlayarak proxy host oluşturma, gelişmiş yapılandırmalara kadar kapsamlı bir rehber sunarak, sistem yöneticilerine somut kazanımlar sağlayacaktır.

Nginx Proxy Manager’ı Docker ile Kurma

Docker konteyner yönetimi için NPM kurulumunu docker-compose ile gerçekleştirmek, en verimli yaklaşımdır. Bu yöntem, veritabanı (SQLite veya MariaDB) ve NPM konteynerini tek bir YAML dosyasıyla yönetmenizi sağlar. Öncelikle, sunucunuzda Docker ve Docker Compose’un yüklü olduğundan emin olun. Ardından, bir dizin oluşturup docker-compose.yml dosyasını hazırlayın. Bu dosya, port 80, 443 ve 81’i (yönetim paneli için) açar ve volumes ile kalıcı veri depolama sağlar.

  1. Dizin oluşturun: mkdir npm && cd npm.
  2. docker-compose.yml oluşturun:
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: mariadb:latest
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: npmrootpass
      MYSQL_DATABASE: npm
      MYSQL_USER: npm
      MYSQL_PASSWORD: npmpass
    volumes:
      - ./mysql:/var/lib/mysql

docker-compose up -d komutuyla başlatın. Tarayıcıda http://sunucu-ip:81 adresine giderek varsayılan e-posta: [email protected], şifre: changeme ile giriş yapın ve şifreyi değiştirin. Bu kurulum, konteynerlerinizi yönetmek için hazır bir altyapı oluşturur ve yaklaşık 5 dakikada tamamlanır. Volumes sayesinde veri kaybı önlenir, restart politikası ile yüksek erişilebilirlik sağlanır.

Proxy Host Oluşturma ve Konteyner Yönlendirme

Basit Proxy Host Ayarı

Proxy host oluşturmak, Docker konteynerlerinizi dış dünyaya açmanın temel adımıdır. NPM panelinde “Hosts” sekmesine gidin ve “Proxy Hosts” ekleyin. Domain adınızı girin (örneğin, app.ornek.com), hedef IP’yi konteynerınızın dahili IP’si veya hostname’i olarak belirtin (Docker network’te çalışıyorsa). Portu konteyner servisinin dinlediği porta göre ayarlayın, örneğin 3000. “Forward Hostname / IP” alanına konteyner adını yazın ve “Block Common Exploits” ile “Websockets Support” seçeneklerini etkinleştirin. Kaydetmekle trafik otomatik yönlendirilir. Bu, Node.js veya React app gibi konteynerler için idealdir ve subdomain bazlı izolasyon sağlar.

SSL Sertifikası Entegrasyonu

HTTPS için Let’s Encrypt entegrasyonu NPM’nin en güçlü yanlarındandır. Proxy host detay sayfasında “SSL” sekmesine geçin, “Request a new SSL Certificate” seçin ve e-posta girin. “Force SSL” ve “HTTP/2 Support” etkinleştirin. Domain doğrulaması otomatik SRV challenge ile yapılır; DNS A kaydınızı sunucu IP’sine yönlendirdiğinizden emin olun. Sertifika 90 günde yenilenir. Bu işlem, konteyner trafiğinizi şifreleyerek kurumsal güvenlik standartlarını karşılar ve PCI DSS gibi uyumluluklar için zorunludur. Test için curl ile doğrulayın: curl -I https://app.ornek.com.

Gelişmiş Yönetim ve En İyi Uygulamalar

Erişim listeleri ve redirect’ler ile NPM’yi genişletin. “Access Lists” oluşturarak IP bazlı kısıtlamalar tanımlayın; örneğin, yönetim panelini sadece belirli subnet’lere açın. “Redirect Hosts” ile HTTP’yi HTTPS’e yönlendirin. Docker Swarm veya Compose stack’lerde NPM’yi network’lere bağlayın: networks: default: external: name: proxy. Logları incelemek için NPM’nin data volume’undaki dosyaları kullanın. Güncellemeler için docker-compose pull && docker-compose up -d uygulayın. Bu pratikler, ölçeklenebilirlik sağlar ve downtime’ı minimize eder.

Performans Optimizasyonları

Cache ve rate limiting ekleyin. NPM ayarlarında “Advanced” sekmesinde Nginx konfigürasyonunu özelleştirin: proxy_buffering on; proxy_cache_path tanımlayın. Docker resource limitleri koyun: cpus: 1.0, memory: 512M. Monitoring için Portainer entegrasyonu önerilir; konteyner metriklerini izleyin. Bu optimizasyonlar, yüksek trafikli kurumsal uygulamalarda %30’a varan performans artışı sağlar ve kaynak israfını önler.

Nginx Proxy Manager ile Docker konteyner yönetimi, operasyonel verimliliği artırır ve güvenlik katmanları ekler. Bu rehberdeki adımları uygulayarak, ekibiniz hızlıca production-ready bir proxy altyapısı kurabilir. Düzenli yedeklemeler ve güncellemelerle uzun vadeli güvenilirlik elde edin; NPM, modern DevOps workflow’larınızın vazgeçilmezi olacaktır.

Kategori: Web Sunucu
Yazar: Lorem
çerik: 619 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 24-02-2026
Güncelleme: 24-02-2026