Herkese merhabalar. Bir çok kere yerel geliştirme ortamımızdaki geliştirmeleri sunum halinde takım arkadaşlarınız veya müşterilerle paylaşma gereği duymuşuzdur. Bugün bunu yapmanın en pratik yollarından birinden bahsedeceğim.
Örneğin yerel de localhost:8000 de yayın yapan Django ❤ projenizi direkt internet üzerinden erişilir hale getirmek ve bir yerlere deploy etmekle uğraşmak istemiyorsunuz. O halde gelin evimizi dış dünyaya açalım 🙂
Ngrok nedir?
Ngrok herhangi bir Firewall veya NAT arkasında koşan yerel sunucumuzu tünelleyerek internete çıkartmamızı sağlayan reverse proxy yazılımıdır.
Kurulum ve gerekli ayarlamalar.
İlk olarak Ngrok yazılımını bilgisayarımıza indirmemiz gerekmekte. Şu adresten sizin için uygun olan versiyonu indirebilirsiniz. İndirme işlemi tamamlandıktan sonra indirdiğiniz dizine zip dosyasını çıkartın.
$ unzip /path/ngrok/file
Daha sonrasında bir token’e ihtiyacımız var. Ngrok ücretsiz kullanıma izin verse de ücretsiz planlarda bir sınırlama var. Dakikada kabul ettiği istek sayısı, tünellenebilecek port sayısı vs. Ayrıca token oluşturulmaz ise bağlantı sınırlı süreyle açık kalmakta.(8saat) Token istemiyorum diyorsanız bu aşamayı atlayabilirsiniz.
Bu adresten kayıt olabilir ve dashboard da auth sekmesinden tokeninizi oluşturabilirsiniz.
Tokeninizi kopyaladıktan sonra:
$ ./ngrok authtoken <YOUR_AUTH_TOKEN>
konfigürasyonumuzu tamamlıyoruz.
Port tünelleme.
Çalışan bir lokal sunucunuzun portunu tünellemek için (ex 8000)
./ngrok http 8000
Belirtilen adreslere bir kaç istek yaptığınızda terminalin altında loglanmaya başladığını göreceksiniz.
Ayrıca gelen isteklerin detaylı bilgilerini görebileceğiniz bir inceleme aracıda 4040 portundan yayın yapmaya başladı.
Örnek request-response döngüsü.
$ curl https://f3e01cc7.ngrok.io <h1>Hello world and Ngrok tunneling!</h1>
Kullanıcı adı parola korumalı port tünelleme.
Kolayca davetsiz misafirleri engellemek için auth sistemi kurmak.
$ ./ngrok http -auth="username:password" 8000 $ ./ngrok http -auth="egundogdu:123" 8000
Son olarak Ngrok gerçekten hayat kurtaran pratik bir araç. Daha fazla bilgi için dökümantasyon ve ücretli versiyonlarında ne gibi olanaklar sunuyor diye ücretlendirme sayfasına göz atmak isteyebilirsiniz. Herkese iyi günler!
İlk Yorumu Siz Yapın