Aynı Statik IP adresini kullanan, farklı fiziksel server için konfigürasyon önerisi?

Aynı Statik IP adresini kullana, farklı fiziksel server cihazlarında barınan farklı siteleri, farklı port numaraları kullanmadan(port çakışması olmadan) nasıl ulaşılabilir yapabilirim?

A server’ında çalışan www.asitesi.com:80 ve B serverında çalışan www.bsitesi.com:80 ama ikiside tek bir statik IP kullansın istiyorum.

Bu işi modem üzerinde port yönlendirmesiyle çözebilir miyim?

ya da

Bu iki cihazın önüne port yönlendirmesi yapacak bir başka cihaz koymak (raspberryPi Zero W gibi) sorunu çözer mi?

Reverse Proxy kullanmanız gerekiyor dökümanlar: caddy, nginx, lightpttd

4 Likes

Nginx, apache, litespeed gibi bir uygulama kullanıyor iseniz konfigürasyon dosyasını düzenlerken “Server Block” veya “Server Name İndicator(SNI)” ile tek bir IP adresi üzerinden istediğiniz kadar web hizmetini serve edebilirsiniz. İster aynı port olsun ister farklı port olsun.

Mesela şöyle bir sitede en basitinden (Port 80 kullanan 2 test sitesi) bir anlatım yapmışlar.

2 Likes

Fiziksel cihazlardan birini ana sunucu olarak mı belirlemem gerekiyor? Tek fiziksel cihaz ile çalışsam iş daha kolay, ama cihazlar da iki tana olunca Nginx ayarlarının nasıl yapılacağının mantığını kavrayamadım.

Bu örnek çok güzel anlatılmış fakat aradığım şey bu değil sanırım. Bu sitede tek cihazda iki sunucu çalıştırmanın örneği anlatılmış.

Reverse proxy yapmanız gerekiyor. nginx üzerinde şöyle bir kullanım olabilir:
(Ubuntu server için)

sudo apt-get install nginx
sudo cd /etc/nginx/sites-available

burada default isminde bir dosya bulunur. Bu default yönlendirmedir. Biz şimdilik deneme adında bir dosya oluşturalım. Bu ismi istediğin gibi değiştirebilirsin.

sudo touch deneme
sudo vi deneme

dosya içinde yazman gerekenler:

server {
      listen 80; # 80 portunu dinleyecek
      server_name  www.asitesi.com;
      location / {
           proxy_pass http://localhost:1337; # bu serverda çalışan uygulamanın localdeki çalıştığı adres ve port
   }
}

Bu kodu ister aynı cihazda istersen de diğer sunucunda çalıştıracağın uygulama için bir daha yazarsan, nginx senin için 80 portuna gelen istek server_name’e göre dinler ve uygulamalarını ona göre çalıştırır.

Not: Tüm bu işlemlerin sonunda sudo service nginx restart yapmayı unutmayın.

Önemli edit: /etc/nginx/nginx.conf dosyasında şu yapılandırma her iki cihaza da eklenmeli:

upstream backend {
  server 192.168.1.1:80;
  server 192.168.1.2:80;
}

location /test.com {
  proxy_pass http://192.168.1.1:80;
}

location /deneme.com {
  proxy_pass http://192.168.1.2:80;
}
3 Likes

Hafta sonu deneyeceğim. Teşekkürler…

1 Like

Rica ederim hocam. Buradaki ip adreslerini ben örnek olarak verdim. Bilginiz olsun. Bol şans.

1 Like

:grinning: konuyla ilgili az da olsa bilgim var mustafatunahantuna hocam, hali hazırda BananaPi M5 server barındırıyorum evde, uplod hızım 50mpbs’a yükselince bir de Raspberryi Pi 4 eklemk istedim yanına. Bakalım yapabilecek miyim