Nginx Proxy Manager ile tek sunucuda birden fazla servis
Aynı sunucuda birden fazla proje çalıştırıyorsanız er ya da geç 80 ve 443 portlarıyla karşılaşırsınız. Bu portları yalnızca tek bir süreç dinleyebilir. Selectel blogunda yayımlanan bir Habr yazısı, bu sorunun Nginx Proxy Manager ile nasıl çözüleceğini adım adım gösteriyor.
Yazar önce sorunu anlatıyor: ayrıcalıklı portlar, port başına tek dinleyici kuralı, ön yüz ve arka yüz farklı portlara ayrıldığında ortaya çıkan CORS sorunları ve HTTPS eksikliği. Ters proxy, aracı olarak trafiği alan adı ve yola göre yönlendirerek bunu çözüyor. Bir ek avantaj da, güvenlik duvarında yalnızca 22, 80 ve 443 portlarının açık olması yeterli.
Test ortamı 2 vCPU, 2 GB RAM ve 40 GB NVMe'li bir VDS; üzerinde Ubuntu 24.04 ve resmi depodan kurulmuş Docker var. Ağ docker network create proxy komutuyla oluşturuluyor, ardından veri ve sertifika birimleri bağlanmış jc21/nginx-proxy-manager konteyneri başlatılıyor. 81 numaralı yönetim panelinin yalnızca 127.0.0.1'e bağlanıp SSH tüneliyle erişilmesini beğendim.
Ardından bir proxy ana bilgisayarı yapılandırılıyor: Forward Hostname alanına konteyner adı yazılıyor, SSL sertifikası ise SSL sekmesinde bağlanıyor. Testler için traefik/whoami kullanılıyor. Uygulamanın doğrudan ana makinede çalıştığı durum da ayrıca ele alınıyor: Docker ağının ağ geçidi adresi docker network inspect ile alınıyor ve güvenlik duvarı, uygulamaya proxy'yi atlayarak erişilmesini engelleyecek şekilde ayarlanıyor.
Bazı eleştirilebilir noktalar da var. Örnekler farklı alan adlarını karıştırıyor ve imaj latest etiketini kullandığı için zamanla tekrarlanabilirlik zayıflayabilir. Yine de nginx yapılandırmalarını elle düzenlemeden evde veya bir VDS'te birden fazla servis çalıştırmak isteyenler için iyi bir başlangıç noktası.
Kaynak: Habr (Selectel blogu)
Yazar önce sorunu anlatıyor: ayrıcalıklı portlar, port başına tek dinleyici kuralı, ön yüz ve arka yüz farklı portlara ayrıldığında ortaya çıkan CORS sorunları ve HTTPS eksikliği. Ters proxy, aracı olarak trafiği alan adı ve yola göre yönlendirerek bunu çözüyor. Bir ek avantaj da, güvenlik duvarında yalnızca 22, 80 ve 443 portlarının açık olması yeterli.
Test ortamı 2 vCPU, 2 GB RAM ve 40 GB NVMe'li bir VDS; üzerinde Ubuntu 24.04 ve resmi depodan kurulmuş Docker var. Ağ docker network create proxy komutuyla oluşturuluyor, ardından veri ve sertifika birimleri bağlanmış jc21/nginx-proxy-manager konteyneri başlatılıyor. 81 numaralı yönetim panelinin yalnızca 127.0.0.1'e bağlanıp SSH tüneliyle erişilmesini beğendim.
Ardından bir proxy ana bilgisayarı yapılandırılıyor: Forward Hostname alanına konteyner adı yazılıyor, SSL sertifikası ise SSL sekmesinde bağlanıyor. Testler için traefik/whoami kullanılıyor. Uygulamanın doğrudan ana makinede çalıştığı durum da ayrıca ele alınıyor: Docker ağının ağ geçidi adresi docker network inspect ile alınıyor ve güvenlik duvarı, uygulamaya proxy'yi atlayarak erişilmesini engelleyecek şekilde ayarlanıyor.
Bazı eleştirilebilir noktalar da var. Örnekler farklı alan adlarını karıştırıyor ve imaj latest etiketini kullandığı için zamanla tekrarlanabilirlik zayıflayabilir. Yine de nginx yapılandırmalarını elle düzenlemeden evde veya bir VDS'te birden fazla servis çalıştırmak isteyenler için iyi bir başlangıç noktası.
Kaynak: Habr (Selectel blogu)
Yorumlar 0
İlk yorumu bırak, hangi dilde olursa olsun.
Yorum yapmak için giriş yap