Nginx Proxy Manager, kullanıcıların Nginx web sunucusunu kolayca yönetmelerine olanak tanıyan, açık kaynaklı ve kullanımı kolay bir araçtır. Özellikle karmaşık yapılandırmalarla uğraşmak istemeyen kullanıcılar için tasarlanmış olan bu araç, web tabanlı bir arayüz üzerinden proxy sunucuları, SSL sertifikaları ve yönlendirme kurallarını basit bir şekilde yönetmeyi mümkün kılar.

Nginx Proxy Manager’ın Temel Özellikleri

  1. Kullanıcı Dostu Arayüz: Nginx Proxy Manager, karmaşık terminal komutları veya yapılandırma dosyalarıyla uğraşmadan Nginx sunucunuzu yönetmenizi sağlar. Web tabanlı bir arayüz sayesinde proxy kurulumları, SSL sertifikalarının eklenmesi ve yönlendirme kurallarının oluşturulması oldukça basittir.
  2. Ters Proxy Yönetimi: Ters proxy, genellikle birden fazla sunucunun arkasındaki trafiği yönetmek için kullanılır. Nginx Proxy Manager ile bu yapılandırmaları yapmak son derece basittir. Tek bir IP adresi üzerinden farklı iç sunuculara yönlendirme yapabilir, belirli alan adlarını veya alt alan adlarını spesifik iç sunuculara bağlayabilirsiniz.
  3. SSL Sertifikaları: SSL (Secure Sockets Layer) sertifikaları, web sitenizin güvenliğini sağlamak için gereklidir. Nginx Proxy Manager, Let’s Encrypt gibi ücretsiz SSL sertifikası sağlayıcıları ile kolayca entegrasyon sağlar ve bu sertifikaları otomatik olarak yeniler. Ayrıca, kendi özel SSL sertifikalarınızı da yükleyebilir ve yönetebilirsiniz.
  4. Yönlendirme ve Kurallar: Trafik yönetimi, Nginx Proxy Manager ile oldukça esnektir. HTTP ve HTTPS yönlendirmeleri, 301 ve 302 kalıcı ve geçici yönlendirmeler gibi çeşitli seçenekleri destekler. Ayrıca, belirli URL yollarını veya ana bilgisayar adlarını farklı sunuculara yönlendirme gibi gelişmiş kurallar oluşturabilirsiniz.
  5. Kimlik Doğrulama ve Güvenlik: Kullanıcı dostu bir arayüz ile erişim kontrolü sağlar. IP adresine dayalı erişim kontrolü, temel kimlik doğrulama ve beyaz listeleme gibi güvenlik özellikleri ile web uygulamalarınızı ve sunucularınızı koruyabilirsiniz.

Nginx Proxy Manager’ın Avantajları

Nginx Proxy Manager, özellikle küçük ve orta ölçekli işletmeler veya kendi web sunucularını yönetmek isteyen kişiler için bir dizi avantaj sunar:

  1. Kolay Kurulum: Nginx Proxy Manager, Docker tabanlı bir kurulum sunar. Bu da, uygulamanın hızlı bir şekilde kurulmasını ve hemen kullanıma başlanmasını sağlar. Docker kullanımı ayrıca, sunucunuzda herhangi bir karışıklığa yol açmadan güvenli bir çalışma ortamı sağlar.
  2. Merkezi Yönetim: Birden fazla alan adını ve sunucuyu tek bir noktadan yönetme imkanı sunar. Bu özellik, özellikle birden fazla web sitesi veya uygulama yöneten kullanıcılar için büyük bir avantajdır.
  3. Düşük Maliyet: Açık kaynaklı olması ve ücretsiz SSL sertifikası sağlayıcıları ile entegrasyon sunması sayesinde, maliyet açısından oldukça verimlidir. Küçük işletmeler için yüksek güvenlikli bir yapı sunarken, aynı zamanda bütçeyi de korur.
  4. Topluluk ve Destek: Nginx Proxy Manager, aktif bir topluluğa ve düzenli güncellemelere sahip bir projedir. Bu sayede, kullanıcılar olası sorunlarını çözmek veya yeni özellikler talep etmek için topluluğun desteğinden yararlanabilir.

Nginx Proxy Manager ile Hangi Problemler Çözülür?

  1. Karmaşık Nginx Yapılandırmaları: Geleneksel olarak Nginx, oldukça esnek ancak karmaşık bir yapılandırma sürecine sahiptir. Bu karmaşıklık, özellikle yeni başlayanlar için zorlayıcı olabilir. Nginx Proxy Manager, bu yapılandırma sürecini basitleştirir ve kullanıcıların sadece birkaç tıklama ile istedikleri ayarları yapmalarını sağlar.
  2. SSL Sertifikası Yönetimi: SSL sertifikalarının manuel olarak yenilenmesi ve yapılandırılması zorlayıcı olabilir. Nginx Proxy Manager, SSL sertifikalarının otomatik olarak yenilenmesini sağlar ve bu süreci kullanıcılar için zahmetsiz hale getirir.
  3. Çoklu Alan Adı ve Sunucu Yönetimi: Birden fazla alan adı ve sunucu yöneten kişiler için Nginx Proxy Manager, bu trafiği tek bir noktadan yönetme imkanı sunar. Bu sayede, yönetim süreci büyük ölçüde basitleşir ve zaman kazandırır.

Nginx Proxy Manager Kurulumu

Nginx Proxy Manager kurulumunu docker üzerinden yapacağız. Bu nedenle öncelikle sunucumuzda docker’ın kurulu olması gerekiyor. Docker ve Docker Compose kurulumu için bu makaleyi takip edebilirsiniz.

1) Karışıklı yaşanmaması adına klasör oluşturalım.

mkdir docker
cd docker

2) docker-compose.yml dosyamızı oluşturalım.

nano docker-compose.yml
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

3) Projemizi ayağa kaldıralım.

docker-compose up -d