Kurulum rehberleri

Nginx Proxy Manager ile alan adı yönlendirme ve HTTPS

Birden fazla uygulamayı alan adı üzerinden yayınlamak için proxy, Docker ağı ve SSL ayarlarını birlikte kurun.

7 dakika okuma
Kilitli ağ geçidinden üç uygulamaya yönlendirilen bağlantılar

Nginx Proxy Manager, alan adından gelen isteği doğru uygulamaya iletir ve HTTPS sertifikalarını yönetir. Uygulamanın kendisini kurmaz. Bu rehberde Docker ağı üzerinden erişilen bir uygulamayı alan adına bağlayacağız.

1. Portları ve Docker’ı kontrol edin

Docker Engine ve Compose hazır olmalı. Gerekirse resmi Docker kurulumunu tamamlayın:

bashsudo docker compose version
sudo ss -lntp

80/443 portları başka panel veya proxy tarafından kullanılıyorsa önce mimariyi netleştirin. Çalışan servisi rastgele durdurmayın. Bu örnek, bu portların boş olduğu ayrı sunucu içindir.

2. Compose dosyası

Sunucuda çalışma dizinini oluşturun:

bashsudo mkdir -p /opt/npm
cd /opt/npm
sudo nano compose.yaml

Dosyaya aşağıdaki içeriği ekleyin. 2.15.1 burada resmi kurulum belgesindeki sürüm örneğidir; kurulum günü sürüm notlarını kontrol edin:

yamlservices:
  proxy:
    image: jc21/nginx-proxy-manager:2.15.1
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "127.0.0.1:81:81"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - proxy_net
networks:
  proxy_net:
    name: proxy_net
bashsudo docker compose config
sudo docker compose up -d
sudo docker compose logs --tail 50

data ve letsencrypt dizinlerini koruyun; konteynerin yeniden oluşturulması bu dizinlerin silinmesini gerektirmez.

3. Yönetim ekranı

Kendi bilgisayarınızdan:

bashssh -N -L 8181:127.0.0.1:81 root@SUNUCU_IP

http://localhost:8181 adresini açıp sürümün ilk kullanıcı akışını tamamlayın. İnternetteki eski rehberlerde bulunan varsayılan parolaya güvenmeyin. Yönetim portu bu örnekte internete yayımlanmaz.

4. Uygulamayı aynı ağa bağlayın

Uygulamanızın Compose dosyasında ilgili servise proxy_net ağını ekleyin ve dosyanın ağ tanımını şu şekilde yapın:

yamlnetworks:
  proxy_net:
    external: true
    name: proxy_net

Servis bölümüne de networks: [proxy_net] eklenmelidir. Yalnız dosyanın altına ağ tanımı eklemek servisi ağa bağlamaz. Yeniden oluşturma öncesi uygulamanın kalıcı verisinin volume üzerinde olduğundan emin olun.

Resmi ağ rehberinde anlatıldığı gibi hedef olarak uygulamanın servis adını ve konteyner içi portunu kullanın. Proxy konteynerindeki localhost, diğer uygulamanız değildir.

5. Proxy host ve sertifika

Alan adının A/AAAA kayıtlarını proxy sunucusuna yönlendirin. Proxy Hosts altında alan adı, hedef servis adı, protokol ve iç portu girin. Örneğin web servisi 3000’de dinliyorsa hedef web:3000 olur. Uygulama WebSocket kullanıyorsa ilgili desteği açın.

Önce HTTP yönlendirmesini test edin. Ardından SSL bölümünde Let’s Encrypt sertifikası isteyin ve başarılı olduktan sonra HTTPS zorlamasını etkinleştirin. HTTP doğrulaması kullanıyorsanız alan adı internetten 80 portuna ulaşabilmelidir.

6. 502 ve yedekleme

502 hatasında uygulama çalışıyor mu, aynı ağda mı, doğru portta mı kontrol edin. Sertifika hatasında ise DNS, 80/443 ve varsa CAA kaydını inceleyin. data ile letsencrypt dizinlerini tutarlı bir bakım yedeğinde birlikte saklayın; uygulamanın verisi ayrıca yedeklenir. DNS rehberi ve Docker rehberi ile devam edin.