Nginx Proxy Manager kullanarak Linux'ta Konteynerleştirilmiş Bir Ortama Erişimi Nasıl Yapılandırılır?
Giriş
Bu eğitimde, Nginx Proxy Manager kullanarak konteynerleştirilmiş hizmetlere güvenli ve kullanıcı dostu erişim yapılandıracaksınız. Bu yaklaşım, manuel yapılandırma yerine bir web arayüzü aracılığıyla ters proxy yönetimini basitleştirir. Docker ile Nginx Proxy Manager'ı kuracak, yapılandıracak ve bir konteynerleştirilmiş hizmeti bir alan adı üzerinden açığa çıkaracaksınız.
Ön Koşullar
Hedef kitle: Başlangıç seviyesindeki sistem yöneticileri
Tahmini süre: ~30 dakika
Son hedef: Bu eğitimin sonunda, dış trafiği konteynerleştirilmiş bir uygulamaya yönlendiren çalışan bir Nginx Proxy Manager kurulumuna sahip olacaksınız.
Sistem gereksinimleri:
- İşletim Sistemi: Docker uyumlu Linux dağıtımı
- Docker: 24.0.6 veya daha yeni
- Docker Compose: v2
- Minimum 1 GB RAM ve 10 GB disk alanı
- Sunucu IP'nize yönlendirilmiş bir alan adı
- Açık portlar: 80, 81, 443
- Sudo ayrıcalıkları
Gerekli bilgi:
- Temel Linux komut satırı kullanımı
- Docker konteynerlerinin temel anlayışı
Adım 1: Nginx Proxy Manager'ı Anlayın
Nginx Proxy Manager, Nginx ters proxy yapılandırmalarını yöneten web tabanlı bir araçtır. Trafiği farklı hizmetlere alan adları kullanarak yönlendirmenize, SSL sertifikalarını etkinleştirmenize ve yapılandırma dosyalarını manuel olarak düzenlemeden erişim kurallarını yönetmenize olanak tanır.
Ana özellikler:
- Proxy yönetimi için web arayüzü
- Let's Encrypt ile otomatik SSL
- Erişim kontrolü ve kimlik doğrulama
- Docker ortamlarıyla kolay entegrasyon
Sonuç: Nginx Proxy Manager'ın konteynerleştirilmiş hizmetleri açığa çıkarmayı nasıl basitleştirdiğini anlıyorsunuz.
Adım 2: Docker ve Docker Compose'u Kurun
Docker'ı basit bir tek satırlık komutla kurun:
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
Docker kurulumunu doğrulayın:
docker --version
Docker Compose'u doğrulayın:
docker compose version
Sonuç: Docker ve Docker Compose kurulmuş ve kullanıma hazır.
Adım 3: Nginx Proxy Manager'ı Kurun
Bir proje dizini oluşturun:
mkdir ~/npm && cd ~/npm
Bir yapılandırma dosyası oluşturun:
nano docker-compose.yml
Yapılandırma içeriğini ekleyin:
version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
Dosyayı kaydedin ve çıkın.
Hizmeti başlatın:
docker compose up -d
Sonuç: Nginx Proxy Manager konteyneri çalışıyor ve gerekli portlarda dinliyor.
Adım 4: Web Arayüzüne Erişin

Tarayıcınızı açın ve şu adrese gidin: http://<YOUR_IP_ADDRESS>:81
Varsayılan giriş bilgileri:
- Email:
[email protected] - Şifre:
changeme
İstendiğinde bilgilerinizi güncelleyin.
Sonuç: Nginx Proxy Manager'a web arayüzü üzerinden erişebilir ve yönetebilirsiniz.
Adım 5: Test Konteyneri Dağıtın
Bir test web konteyneri çalıştırın:
docker run -d --name test-app -p 8080:80 nginx
Erişimi doğrulamak için açın: http://<YOUR_IP_ADDRESS>:8080
Sonuç: Bir test konteyneri çalışıyor ve yerel olarak erişilebilir durumda.
Adım 6: Bir Proxy Host Oluşturun

Nginx Proxy Manager arayüzünde:
- "Proxy Hosts" tıklayın
- "Add Proxy Host" tıklayın
- Alan adı girin:
<YOUR_DOMAIN> - Yönlendirme hostname veya IP:
localhost - Yönlendirme portu:
8080 - "Block Common Exploits" etkinleştirin
- Yapılandırmayı kaydedin
Sonuç: Alan adınızdan gelen trafik konteynere yönlendirilir.
Adım 7: SSL'i Etkinleştirin

Proxy host'u düzenleyin:
- SSL sekmesini açın
- Yeni bir SSL Sertifikası talep et seçeneğini seçin
- SSL Zorla etkinleştirin
- HTTP/2 Desteği etkinleştirin
- Email adresinizi girin ve şartları kabul edin
- Değişiklikleri kaydedin
SSL, alan adınızı sunucunuza yönlendiren doğru DNS kayıtlarını gerektirir.
Sonuç: HTTPS etkinleştirildi ve geçerli bir sertifika ile güvence altına alındı.
Doğrulama
Alan adınızı açın: https://<YOUR_DOMAIN>
Beklenen sonuçlar:
- Nginx test sayfası yüklenir
- Tarayıcı geçerli bir SSL sertifikası gösterir
- Güvenlik uyarıları görünmez
Çalışan konteynerleri kontrol edin:
docker ps
Sonuç: Ters proxy doğru çalışıyor ve trafiği güvenli bir şekilde yönlendiriyor.
Değişiklikleri Geri Alma
Hizmetleri durdurun:
docker compose down
Test konteynerini kaldırın:
docker rm -f test-app
Proje dosyalarını silin:
rm -rf ~/npm
Önemli: Bu, tüm yapılandırmaları ve SSL sertifikalarını kaldırır.
Sonuç: Tüm değişiklikler geri alındı ve sistem temiz.
Sorun Giderme
Sorun: Web arayüzüne erişilemiyor
Çözüm: 81 numaralı portun açık olduğundan ve başka bir hizmet tarafından kullanılmadığından emin olun
Sorun: SSL sertifikası oluşturma başarısız
Çözüm: DNS yapılandırmasının sunucunuza işaret ettiğini doğrulayın
Sorun: Proxy host çalışmıyor
Çözüm: Konteyner durumunu docker ps ile ve günlükleri docker logs <CONTAINER_ID> ile kontrol edin
Sonuç: Yaygın sorunlar tanımlandı ve çözüldü.
Sonuç ve Sonraki Adımlar
Docker kullanarak Nginx Proxy Manager'ı kurdunuz ve bir alan adı ve SSL ile konteynerleştirilmiş bir hizmeti açığa çıkardınız. Bu kurulum, birden fazla hizmeti yönetmek için basit ve ölçeklenebilir bir yol sağlar.
Sonraki adımlar:
- Farklı alan adları arkasında ek hizmetler ekleyin
- Erişim kontrol listeleri yapılandırın
- Gelişmiş proxy ve güvenlik ayarlarını keşfedin