Nginx Proxy Manager Nedir?

NGINX proxy yöneticisi, web kullanıcı arayüzüne sahip NGINX tabanlı ters proxy ve SSL yönetim sistemidir. SSL sertifikaları alabilir, bireysel yapılandırmalar, özelleştirmeler ve izinsiz giriş koruması ile birkaç proxy'yi yönetebilirsiniz. Açık kaynak kodludur ve GitHub'da korunur. Joker karakter sertifikaları elde etmek için de kullanılabilen, letsencrypt tarafından sağlanan ücretsiz bir SSL sertifika yönetimi içerir. NGINX proxy yöneticisini dağıtmak için küçük bir MySQL veritabanı konteynerine ve NGINX konteynerine ihtiyacınız var. Bunu docker-compose ile kolayca yapabiliriz.
Nginx Proxy Manager Özellikleri
- Tablo Tabanlı Güzel ve Güvenli Yönetici Arayüz.
- Nginx hakkında hiçbir şey bilmeden kolayca yönlendirme etki alanları, yönlendirmeler, akışlar ve 404 ana bilgisayar oluşturun.
- Let's Encrypt kullanarak ücretsiz SSL veya kendi özel SSL sertifikalarınızı sağlayın.
- Ana bilgisayarlarınız için Erişim Listeleri ve temel HTTP Kimlik Doğrulaması
- Süper kullanıcılar için gelişmiş Nginx yapılandırması mevcuttur
- Kullanıcı yönetimi, izinler ve denetim günlüğü
Ön Gereksinimler
- Ubuntu 20.04 Sunucu
- Root ve ya sudo yetkilerine sahip bir kullanıcı
- Sunucu Üzerinde Docker ve Docker Compose kurulu olmalı
- SSL için DNS Sunucu Üzerinde A Record (www.example.com)
- Firewall aktif ise 80,443 ve 81 portlarına izin verilmesi
Nginx Proxy Manager Kurulum
Sunucu paket listesini ve uygulamaları güncelleyin. Sonrasında sunucuyu yeniden başlatın.
sudo apt update -y && sudo apt upgrade -y && sudo reboot now
Güvenlik duvarının çalışıp çalışmadığını kontrol edin.
sudo ufw status
Çalışıyorsa, 80, 81,443 ve OpenSSH servisi ve bağlantı noktalarını açın.
sudo ufw allow 80
sudo ufw allow 81
sudo ufw allow 443
sudo ufw allow "OpenSSH"
Değişiklikleri uygulamak için yeniden yükleyin.
sudo ufw reload
Çalışmıyorsa güvenlik duvarını etkinleştirin.
sudo ufw enable
Docker ve Docker Compose kurulu olduğunu doğrulayın.
docker --version
docker-compose --version

Şimdi bir docker-compose.yml dosyasını editör ile oluşturup açalım.
sudo vi docker-compose.yml

Aşağıdaki satırları açılan dosyaya kopyalayalım.
- Nginx Proxy Manager, Web Admin Portu varsayılan olarak 81 ayarlanmıştır. Farklı bir port verip firewall üzerinden izin verebilirsiniz.
- Veritabanı için yazdığınız parolayı proxy servisinde de aynı şekilde değiştirmeyi unutmayın. “
database-password”
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "database-user"
DB_MYSQL_PASSWORD: "database-password"
DB_MYSQL_NAME: "proxy-admin"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'database-root-user'
MYSQL_DATABASE: 'proxy-admin'
MYSQL_USER: 'database-user'
MYSQL_PASSWORD: 'database-password'
volumes:
- ./data/mysql:/var/lib/mysql
Şimdi compose dosyamızı ayağa kaldıralım.
docker-compose up -d

Uygulama ilk kez çalıştırıldıktan sonra aşağıdakiler gerçekleşir.
- Veritabanı tablo yapılarıyla başlatılacaktır.
- GPG anahtarları oluşturulacak ve yapılandırma dosyasına kaydedilecektir.
- Varsayılan bir yönetici kullanıcı oluşturulacak.
Bu işlem, makinenize bağlı olarak birkaç dakika sürebilir.

Servisler ayağa kalktığı zaman sunucunun ip adresine giderek admin sayfasına gidiyoruz.
http://your-ip-addr:81
Varsayılan Yönetici Kullanıcısı
Email: admin@example.com
Password: changeme
Varsayılan kullanıcı ile giriş yapalım.

Giriş yaptıktan hemen sonra, bilgilerinizi ve parolanızı değiştirmeniz istenecektir.


Nginx Proxy Manager kullanıma hazır.
