ServBay’de Pinggy ile Yerel Web Sitenizi ve Servislerinizi İnternete Açma
Pinggy, kullanımı son derece kolay olan bir NAT geçişi aracıdır. Ters proxy teknolojisi sayesinde, ServBay gibi yerel ortamlarınızda çalışan web servislerinizi hızlı ve güvenli şekilde internette erişime açar. Bu rehberde Pinggy’nin ServBay ile nasıl kullanılacağını adım adım öğrenecek, uzak erişim, ekip işbirliği veya uzaktan gelen Webhook taleplerini kolayca karşılayabileceksiniz.
Teknik Temel
Pinggy’nin temel prensibi güvenli bir SSH tüneli kurmaktır. Yerelde (NAT ya da güvenlik duvarı arkasında olabilir) çalışan servis portunu, SSH bağlantısıyla Pinggy’nin bulut sunucusuna iletir. Dış dünyadan gelen istekler, Pinggy’nin oluşturduğu URL üzerinden, bu tünel yoluyla doğrudan bilgisayarınızdaki servise güvenli biçimde yönlendirilir.
ServBay özelinde, burada çalışan bir web sitesini (ör. https://myproject.servbay.demo
) Pinggy ile kolayca dışa aktarabilirsiniz. Böylelikle port yönlendirme veya karmaşık güvenlik duvarı ayarlarına gerek kalmaz.
Hazırlıklar
Pinggy kullanımı için ekstra bir istemci yazılıma ihtiyacınız yok. Tek gereksinimleriniz:
- Kurulu ve Çalışır ServBay: ServBay ortamınızı kurmuş olmalı, internete açmak istediğiniz web sitesi veya servis çalışır durumda olmalı.
- Çalışan Bir ServBay Sitesi: Bir veya daha fazla web sitesi ServBay’de yapılandırılmış ve başlatılmış olmalı. Bunlar genellikle ServBay’in entegre Caddy veya Nginx sunucusunda yerel 80 (HTTP) veya 443 (HTTPS) portunda dinlemede olur.
- SSH Destekli Terminal: macOS’un yerleşik terminali ya da kullandığınız diğer terminal emülatörleri SSH destekler.
- Temel SSH Bilgisi: SSH komutunu terminalde çalıştırabiliyor olmalısınız.
Tünel Kurulumu: Uygulamalı Adımlar
Temel Komut
Pinggy ile tünel kurmak çok kolaydır, terminalde tek bir SSH komutu yeterli. Aşağıdaki örnekte, ServBay’de yapılandırılmış ve yerel 443 portundan çalışan servbay.new
web sitesi internete açılıyor:
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Önemli Not: XXXXXXXXXXX
kısmını Pinggy’de size verilen kullanıcı adıyla değiştirin (genellikle karakter dizisidir). servbay.new
değerinin yerine, internete açmak istediğiniz ServBay sitesi domainini yazın (örn: myproject.servbay.demo
).
Komutun kritik parametrelerini detaylandıralım:
Parametre | Açıklama |
---|---|
-p 443 | SSH bağlantısı için Pinggy sunucusunun portunu 443 olarak belirler. HTTPS’in standart portu olduğu için, ağ duvarlarını aşma başarısını artırır. |
-R0:localhost:443 | Temel port yönlendirmesidir. 0 Pinggy’nin rastgele bir dış port atamasını sağlar. localhost:443 , dış porttan gelen trafiklerin bilgisayarınızın yerel 443 portuna iletileceğini belirtir. ServBay’de Caddy/Nginx bu portta HTTPS isteklerini dinler. |
-o StrictHostKeyChecking=no | SSH anahtar doğrulamasını devre dışı bırakır. İlk kullanımda veya test ortamında kolaylık sağlar ancak prodüksiyon kullanımlarında anahtar doğrulaması önerilir. |
-o ServerAliveInterval=30 | Her 30 saniyede bir keep-alive sinyali göndererek bağlantının kopmasını engeller. |
-t [email protected] | Pinggy kullanıcı adı ve sunucu adresidir. Buradaki XXXXXXXXXXX size özeldir. |
x:localServerTls:servbay.new | Pinggy’ye, yerel servisin TLS (HTTPS) desteklediğini ve yerel alan adının servbay.new olduğunu bildirir. Kendi ServBay site domaininiz ile değiştirin. |
"u:host:servbay.new" | HTTP Host başlığını belirliyor; gelen isteklerde Host başlığını mutlak olarak girilen domain yapar. ServBay’de çoklu site (sanal host) kullanımlarında kritik; böylece sunucu hangi lokale cevap vereceğini bilir. |
Komut doğru çalışırsa, Pinggy size aşağıdaki gibi internetten erişilebilen URL’ler çıkarır. Bunlarda her zaman HTTP ve HTTPS adresleri olur:
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Servisi Doğrulama
Tünel kurulduktan sonra, dış erişimin başarılı şekilde çalışıp çalışmadığını aşağıdaki yöntemlerle kontrol edebilirsiniz:
curl ile Doğrulama (Tavsiye Edilir):
curl
komutunda-I
parametresiyle sadece başlık bilgilerini çekebilirsiniz. Buradaki URL’yi Pinggy’nin size döndürdüğü gerçek adresle değiştirin.bashcurl -I https://rnirh-172-188-50-148.a.free.pinggy.link
1Her şey yolunda ise, aşağıdakine benzer HTTP başlıklarını göreceksiniz:
HTTP/1.1 200 OK Connection: close Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Origin: * Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private Connection: keep-alive Content-Type: text/html; charset=UTF-8 Date: Tue, 18 Feb 2025 11:51:48 GMT # Bu tarih değişebilir Expires: Sun, 02 Jan 1990 00:00:00 GMT Pragma: no-cache Server: nginx # veya caddy, ServBay konfigürasyonunuza bağlı Vary: Accept-Encoding X-Frame-Options: SAMEORIGIN X-Powered-By: PHP/8.4.3 # veya diğer teknoloji bilgisi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16HTTP/1.1 200 OK
kodu ve doğruServer
başlığı, bağlantınızın başarılı ve yanıtın yerel ServBay sunucunuzdan geldiğini gösterir.Tarayıcı ile Test: İstediğiniz herhangi bir cihazda (lokal ağ harici de olabilir) Pinggy’nin verdiği HTTPS adresini açın (ör.
https://rnirh-172-188-50-148.a.free.pinggy.link
). Görüntülenen site, yerelde gördüğünüzle aynı olmalı.Beklenen Sonuç:
- Dış dünyadan gelen kullanıcılar Pinggy URL’siyle yerel ServBay sitenize/sunucunuza ulaşabilmeli.
- Yerel serviste HTTPS yapılandırıldıysa (ServBay yerel alanlar için otomatik self-signed sertifika üretir), Pinggy de otomatik olarak ücretsiz, güvenilir CA sertifikasıyla HTTPS’yi destekler.
- Tepki süresi ve stabilite, kendi ağınızın, Pinggy sunucularının ve genel internet kanalının durumuna göre değişkenlik gösterebilir.
İleri Teknikler
Farklı Port ya da Servisleri Yayınlama: Eğer web harici bir servis ya da farklı bir port yayınlamak istiyorsanız,
-R
parametresini değiştirebilirsiniz. Örneğin yerel 8000 portunu açmak için (örneğin bir Python veya Node.js uygulaması):bashssh -p 443 -R0:localhost:8000 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected]
1Web olmayan servislerde veya
Host
başlığı önemli olmayanlarda,x:localServerTls
veu:host
parametrelerine gerek yoktur.Özel Alan Adları (Pinggy Pro): Pinggy Pro kullanıcıları, rastgele oluşturulan alt alan adları yerine kendi alan adlarını kullanabilir. Detaylı kurulum için Pinggy dokümantasyonunu inceleyin.
Kalıcı Tünel (autossh kullanarak): Ara sıra SSH bağlantısı kesilebilir. Tünelinizin sürekli açık kalması gerekiyorsa,
autossh
kullanmak idealdir.autossh
, bağlantı kopunca otomatik tekrar açar. Kurulumu yaptıktan (macOS Homebrew:brew install autossh
gibi) sonra örnek kullanım:bashautossh -M 0 -t "ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new \"u:host:servbay.new\""
1-M 0
parametresi, ayrı bağlantı izleme portu açmadan, SSH’ın kendi keep-alive mekanizmasını kullanmaya yarar.Token’sız Komut: Pinggy, komutta kullanıcı adınızı/tokenınızı yazmanıza gerek kalmayan, tek kullanımlık komutlar üretir. Bu sayede, komutları başkasına güvenle iletebilir, güvenlik riski olmadan paylaşım yapabilirsiniz.
Yaygın Kullanım Senaryoları
- Uzak Demo: ServBay’de geliştirdiğiniz site ve uygulamaları müşterilere/ekip arkadaşlarınıza göstermek – staging ya da canlı ortam gerektirmeden.
- Webhook Hata Ayıklama: Üçüncü parti (ödeme servisleri, GitHub v.b.) Webhook isteklerini doğrudan yerel ortamda karşılamak, hızlı debug imkanı.
- Cihazlar Arası Test: Farklı cihazlarda (telefon, tablet) – hatta aynı ağda olmasa bile – yerel sitenin responsive ve uyumluluğunu test etmek.
- Ekip ile İşbirliği: Ekibin çalışır durumda yerel ServBay servislerini erişime açmak ve test etmek.
Sorun Giderme
Belirti | Çözüm |
---|---|
SSH bağlantısı zaman aşımına uğruyor ya da başarısız | Ağ bağlantınızı ve a.pinggy.io sunucusuna erişiminizi kontrol edin. Güvenlik duvarınızda 443 dışa bağlantısına izin verildiğinden emin olun. Pinggy kullanıcı adınızı kontrol edin. |
Pinggy URL erişemiyor veya hata veriyor (ör. 502 Bad Gateway) | Yerel ServBay sitenizin/servisinizin çalışır ve doğru portu dinlediğini (örn. localhost:443 veya -R ile belirttiğiniz port) doğrulayın. ServBay’in web sunucu ayarlarını gözden geçirin. |
Pinggy URL 404 hatası (Bulunamadı) veya ServBay varsayılan sayfası dönüyor | ServBay’de birden fazla (sanal host) web sitesi varsa, SSH komutundaki x:localServerTls ve u:host parametrelerinin doğru domain ile eşleştiğinden emin olun. Bu parametreler sanal host yönlendirmesi için şarttır. |
Ara ara bağlantı kopuyor | Ağ dalgalanması ya da SSH zaman aşımından kaynaklanır. ServerAliveInterval değerini artırın veya otomatik tekrar bağlantı için autossh kullanın (ayrıntılar için “İleri Teknikler” bölümüne bakın). |
HTTPS erişiminde sertifika hatası | Pinggy genellikle ücretsiz kullanıcılar için herkese açık CA sertifikası sağlar. ServBay yerelde self-signed sertifika kullanıyorsa, tarayıcı uyarabilir. Pinggy’nin ürettiği CA sertifikası ile HTTPs erişiminde bir problem olmamalı. Sorun devam ederse, ServBay’de açılan servisin gerçekten 443 portunda HTTPS olarak çalıştığını kontrol edin. |
Genel Değerlendirme
Pinggy ile ServBay kullanıcıları son derece pratik ve güvenli biçimde internete erişim kanalı açıp, yerel geliştirilen site ve uygulamalarını kolayca dış dünyaya sunabilirler. Yöntemin öne çıkan avantajları şunlardır:
- İstemci Kurulumu Gerektirmez: Kullanımı ve kurulumu çok daha kolaydır.
- Tek Komutla Çalışır: Basit bir SSH komutuyla tünel başlatılır.
- Otomatik HTTPS Desteği: Pinggy, ücretsiz ve genel kabul görmüş CA sertifikasıyla HTTPS erişimini mümkün kılar.
- HTTP ve TCP Tünelleri: Sadece web değil, farklı protokoller için de uygun.
- ServBay ile Tam Uyum: Doğru
Host
başlığıyla ServBay’deki spesifik web siteleri kolayca açılabilir. - Token’sız Komut Desteği: Komut paylaşımında güvenliği artırır.
Kurulum ya da yapılandırma gerektiren, ağır istemcili diğer NAT geçiş araçlarıyla kıyaslandığında Pinggy, özellikle ServBay geliştiricileri için hızlı test, demo ve geçici paylaşım ihtiyaçlarında çok daha hafif ve pratik bir çözümdür. Uzun süreli, kalıcı erişim veya özel alan adına ihtiyaç duyan ticari kullanıcılar için Pinggy’nin ücretli planları değerlendirilebilir. ServBay’in güçlü yerel geliştirme ortamı ile Pinggy’nin sunduğu kolay halka açık erişim birleşimi, geliştirme ve ekip işbirliğinde verimliliğinizi ciddi şekilde artıracaktır.