Detaylar
Kim cevapladı?Bunu sanal sunucuda mı yoksa VDS de mi yapacağım?
bandito
Becerikli
- Katılım
- 23 Kasım 2024
- Mesajlar
- 183
- Çözümler
- 4
- Beğeniler
- 110
Arkadaşlar VDS sunucum var ve VMware'de Ubuntu server kurup VDS sunucusunun açık portlarından faydalanıp local serverı dış dünya ile iletişim kurmasını istiyorum bunu nasıl yaparım? Google'e arattım ama biraz kaşırık geldi.
Yerelden açmaya çalıştığın bağlantın statik ip mi?
Yerelden açmaya çalıştığın bağlantın statik IP mi?
CGNAT içinde hocam.
Sanal sunucu dediğin şey VDS zaten?
VMware?
bandito
Becerikli
- Katılım
- 23 Kasım 2024
- Mesajlar
- 183
- Çözümler
- 4
- Beğeniler
- 110
CGNAT havuz İP ile modemine bağlı aygıtları doğrudan port ile açamazsın. Bu durumda port açamadığın için DDNS de sağlıklı bir yöntem olmayacaktır. İşine yarayacak en sağlıklı çözüm statik ip almaktır.
Yerel ağın için Statik İP aldığını varsayarak şöyle bir yöntem önerebillirim:
Birinci Adım:
Önce VDS sunucunda SSH ile bağlanıp Docker kur. (docker içerisindeki conteinerları yalıtarak ubuntu server üzerinde kullanacağın için olası hatalarında sistem bütünlüğünü etkilemeyecektir.) Birden çok servisi bir birini etkilemeden kullanabilirsin.
Sistemin Docker kurulumu için hazırlanması:
Docker kurulumu:
Kurulumu doğrula:
Bu komut bir test imajı indirip bir conteiner içerisinde çalıştıuracak ve başarı mesajı vermeli.
Docker kurduğuna göre senin için önerilerimin ikinci adımına geçelim.
İkinci Adım:
İkinci adımda sistemini etkilemeden docker üzerinde bir kap içerisinde çalışan Nginx ters prox kuracağız.
Bu konuda letsencrypt destekli ve GUI (kullanıcı arayüzü) bulunan Nginxproxymanager önereceğim. Hem yeni başlayanlar için kullanımı kolay hem de oldukça hafiftir.
nginxproxymanager Docker compose ile Kurulumu:
Önce SSH ile VDS sunucuna bağlan ve bulunduğun dizin veya istediğin bir dizinde nano editörü ile
İçerisine şu docker compose kodlarını ekle:
CTRL + O ile docker compose.yml dosyanı kaydet. CTRL + X ile nano editörden çık.
Docker Compose dosyamız hazır olduğuna göre nginx-proxy-manager uygulamamızı ayağa kaldırabiliriz.
docker compose.yml bulunduğu dizinde şu komutu yürüterek uygulamayı ayağa kaldır.
Bu komutla birlikte docker docker compose yml. dosyamızdaki servisleri bizim için ayağa kaldırıp nginix proxy managerin ilgili portları dinlemesini sağlayacak.
Bundan sonrası için Nginx-proxy-manager GUI ile iki sunucun arasında ters proxy yaparak
Olası bağlantı sorunlarında güvenlik duvarı ayarlarını kontrol edip ilgili portları güvenlik duvarından açmayı unutma..
Ek olarak şunu söyleyeyim:
Statik İP aldığında zaten yerel server'ı doğrudan internete açabileceksin. Bu durumda yerel sunuc statik ip adresini kullanacaksan yukarıdaki yönteme ihtiyacın yok. Ama Statik ip adresin yerel konumunu gösterecektir.
Nginx-proxy manager'a bağlanmak için sunucip:81 portunu tarayıcıda çağır.
Varsayılan nginix-proxy-manager erişim bilgileri:
Bu server üzerinden bütün ters proxy işlerini bu uygulama ile GUI kısmından istediğin gibi yapabilirsin artık.
Yerel ağın için Statik İP aldığını varsayarak şöyle bir yöntem önerebillirim:
Birinci Adım:
Önce VDS sunucunda SSH ile bağlanıp Docker kur. (docker içerisindeki conteinerları yalıtarak ubuntu server üzerinde kullanacağın için olası hatalarında sistem bütünlüğünü etkilemeyecektir.) Birden çok servisi bir birini etkilemeden kullanabilirsin.
Sistemin Docker kurulumu için hazırlanması:
Bash:
# Docker'ın resmi GPG anahtarını ekle:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Depoyu Apt kaynaklarına ekle:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Docker kurulumu:
Bash:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Kurulumu doğrula:
Bash:
sudo docker run hello-world
Docker kurduğuna göre senin için önerilerimin ikinci adımına geçelim.
İkinci Adım:
İkinci adımda sistemini etkilemeden docker üzerinde bir kap içerisinde çalışan Nginx ters prox kuracağız.
Bu konuda letsencrypt destekli ve GUI (kullanıcı arayüzü) bulunan Nginxproxymanager önereceğim. Hem yeni başlayanlar için kullanımı kolay hem de oldukça hafiftir.
nginxproxymanager Docker compose ile Kurulumu:
Önce SSH ile VDS sunucuna bağlan ve bulunduğun dizin veya istediğin bir dizinde nano editörü ile
docker-compose.yml adında bir dosya aç. (veya aşina olduğun Vİ vb. editör kullan) ben nano ilei ilerleyeceğim.
Bash:
nano docker-compose.yml
İçerisine şu docker compose kodlarını ekle:
Bash:
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# Aşağıdaki bağlantı noktaları biçimi <host-port>:<container-port> şeklindedir.
- '80:80' # Genel HTTP Port
- '443:443' # Genel HTTPS Port
- '81:81' # Admin Kısmı için Port
# Ayrıca port eklemek istersen aşağıdaki yorum satırını kaldırıp yapabilirsin.
# - '21:21' # FTP
environment:
DB_SQLITE_FILE: "/data/database.sqlite" # mysql de kullanabilirsin ama önce bir conteiner içinde ayağa kaldırıp bağlantı sağlaman gerekir.
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
CTRL + O ile docker compose.yml dosyanı kaydet. CTRL + X ile nano editörden çık.
Docker Compose dosyamız hazır olduğuna göre nginx-proxy-manager uygulamamızı ayağa kaldırabiliriz.
docker compose.yml bulunduğu dizinde şu komutu yürüterek uygulamayı ayağa kaldır.
Bash:
docker compose up -d
Bu komutla birlikte docker docker compose yml. dosyamızdaki servisleri bizim için ayağa kaldırıp nginix proxy managerin ilgili portları dinlemesini sağlayacak.
Bundan sonrası için Nginx-proxy-manager GUI ile iki sunucun arasında ters proxy yaparak
sunucu-ip:port gelen isteği local-server:port yönlendirecektir. Domainin varsa local serveri burdan domaine yönlendireceksin.Olası bağlantı sorunlarında güvenlik duvarı ayarlarını kontrol edip ilgili portları güvenlik duvarından açmayı unutma..
Ek olarak şunu söyleyeyim:
Statik İP aldığında zaten yerel server'ı doğrudan internete açabileceksin. Bu durumda yerel sunuc statik ip adresini kullanacaksan yukarıdaki yönteme ihtiyacın yok. Ama Statik ip adresin yerel konumunu gösterecektir.
Nginx-proxy manager'a bağlanmak için sunucip:81 portunu tarayıcıda çağır.
Varsayılan nginix-proxy-manager erişim bilgileri:
Kod:
Email: [email protected]
Password: changeme
Bu server üzerinden bütün ters proxy işlerini bu uygulama ile GUI kısmından istediğin gibi yapabilirsin artık.
Son düzenleyen: Moderatör:
CGNAT havuz IP ile modemine bağlı aygıtları doğrudan port ile açamazsın. Bu durumda port açamadığın için DDNS de sağlıklı bir yöntem olmayacaktır. İşine yarayacak en sağlıklı çözüm statik IP almaktır.
Yerel ağın için statik IP aldığını varsayarak şöyle bir yöntem önerebillirim:
birinci adım:
Önce VDS sunucunda SSH ile bağlanıp docker kur. (docker içerisindeki conteinerları yalıtarak Ubuntu server üzerinde kullanacağın için olası hatalarında sistem bütünlüğünü etkilemeyecektir.) Birden çok servisi bir birini etkilemeden kullanabilirsin.
sistemin docker kurulumu için hazırlanması:
Bash:# Docker'ın resmi GPG anahtarını ekle: sudo apt-get update. sudo apt-get install ca-certificates curl. sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Depoyu Apt kaynaklarına ekle: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
docker kurulumu:
Bash:sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Kurulumu doğrula:
Bu komut bir test imajı indirip bir conteiner içerisinde çalıştıuracak ve başarı mesajı vermeli.Bash:sudo docker run hello-world
Docker kurduğuna göre senin için önerilerimin ikinci adımına geçelim.
ikinci adım:
İkinci adımda sistemini etkilemeden docker üzerinde bir kap içerisinde çalışan nginx ters prox kuracağız.
Bu konuda letsencrypt destekli ve GUI (kullanıcı arayüzü) bulunan nginxproxymanager önereceğim. Hem yeni başlayanlar için kullanımı kolay hem de oldukça hafiftir.
nginxproxymanager docker compose ile kurulumu:
Önce SSH ile VDS sunucuna bağlan ve bulunduğun dizin veya istediğin bir dizinde nano editörü iledocker-compose.ymladında bir dosya aç. (veya aşina olduğun VI vb. editör kullan) ben nano ilei ilerleyeceğim.
Bash:nano docker-compose.yml
İçerisine şu docker compose kodlarını ekle:
Bash:version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # Aşağıdaki bağlantı noktaları biçimi <host-port>:<container-port> şeklindedir. - '80:80' # Genel HTTP Port. - '443:443' # Genel HTTPS Port. - '81:81' # Admin Kısmı için Port. # Ayrıca port eklemek istersen aşağıdaki yorum satırını kaldırıp yapabilirsin. # - '21:21' # FTP. environment: DB_SQLITE_FILE: "/data/database.sqlite" # mysql de kullanabilirsin ama önce bir conteiner içinde ayağa kaldırıp bağlantı sağlaman gerekir. volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
CTRL + o ile docker compose. Yml dosyanı kaydet. CTRL + X ile nano editörden çık.
Docker compose dosyamız hazır olduğuna göre nginx-proxy-Manager uygulamamızı ayağa kaldırabiliriz.
Docker compose. Yml bulunduğu dizinde şu komutu yürüterek uygulamayı ayağa kaldır.
Bash:docker compose up -d
Bu komutla birlikte docker docker compose yml. Dosyamızdaki servisleri bizim için ayağa kaldırıp nginix proxy Manager'in ilgili portları dinlemesini sağlayacak.
Bundan sonrası için nginx-proxy-Manager GUI ile iki sunucun arasında ters proxy yaparaksunucu-ip:portgelen isteğilocal-server:portyönlendirecektir. Domainin varsa local serveri buradan domaine yönlendireceksin.
Olası bağlantı sorunlarında güvenlik duvarı ayarlarını kontrol edip ilgili portları güvenlik duvarından açmayı unutma.
ek olarak şunu söyleyeyim:
Statik IP aldığında zaten yerel Server'ı doğrudan internete açabileceksin. Bu durumda yerel sunuc statik IP adresini kullanacaksan yukarıdaki yönteme ihtiyacın yok. Ama statik IP adresin yerel konumunu gösterecektir.
Nginx-proxy Manager'a bağlanmak için sunucip: 81 portunu tarayıcıda çağır.
Varsayılan nginix-proxy-Manager erişim bilgileri:
Kod:Email: [email protected] Password: changeme
Bu server üzerinden bütün ters proxy işlerini bu uygulama ile GUI kısmından istediğin gibi yapabilirsin artık.
Hocam öncelikle teşekkürler Telekom statik IP adresine 149TL istiyor neyse zaman sonraya kaldı.
bandito
Becerikli
- Katılım
- 23 Kasım 2024
- Mesajlar
- 183
- Çözümler
- 4
- Beğeniler
- 110
Telekomu bu hale getirenler utansın dostum ne diyelim.