Ngrok Nedir ve Nasıl Kullanılır?

Pelin Işıldar
FowApps
Published in
2 min readDec 15, 2022

Yapmış olduğumuz bir projeyi veya o proje içindeki bir özelliği başkalarına sunmak isteyebiliriz. Bu bağlamda en temel ihtiyaç bir sunucuya sahip olmaktır. Localhost’umuzu bir sunucu gibi kullanmamızı sağlayan da ngrok uygulamasıdır.

Ngrok Nedir?

Localhost üzerinde çalışan uygulamalarımızı yani geliştirme ortamımızı sunucu olarak kullanmamızı sağlayan platformlar arası bir uygulamadır. Uygulamamız çalışıyor olduğu sürece, her yerden erişilebilir bir projeye sahip olduğumuz anlamına gelir.

Ngrok, ngrok.io sub-domaini alanından yerel makineye bir TCP tüneli oluşturur. Bu güvenlik duvarı kısıtlamalarını atlayabilir.

Uygulamamızın üzerinde çalışacağı bağlantı noktası belirlendikten sonra ngrok sunusucuyla güvenli bir bağlantı başlatılmış olur. Aslında az önce de bahsettiğim gibi bu sunucuya her yerden ve herkes tarafından istekte bulunulabilir.

Ngrok Nasıl Kullanılır?

Localhost üzerinde çalışacak bir .NET Core uygulaması oluşturarak işe başlayalım.

Aşağıdaki cli komutu CMD üzerinde çalıştırılarak bir Web API uygulaması oluşturulur.

dotnet new webapi - name SampleNgrok

Oluşturulmuş olan uygulamayı çalıştırdığımızda https://localhost:7102 üzerinden ayaklandığı görülür. Bu URL bilgisi farklı bilgisayarlarda başka şekilde olabilir. https://localhost:7102/weatherforecast endpoint’ine istek gönderdiğimiz zaman aşağıdaki listenin bize dönmesi gerekir.

[
{
"date": "2022-12-15",
"temperatureC": -14,
"temperatureF": 7,
"summary": "Freezing"
},
{
"date": "2022-12-16",
"temperatureC": 51,
"temperatureF": 123,
"summary": "Warm"
},
{
"date": "2022-12-17",
"temperatureC": 18,
"temperatureF": 64,
"summary": "Balmy"
},
{
"date": "2022-12-18",
"temperatureC": 39,
"temperatureF": 102,
"summary": "Bracing"
},
{
"date": "2022-12-19",
"temperatureC": -16,
"temperatureF": 4,
"summary": "Balmy"
}
]

Uygulamamızdan geçerli bir cevap döndüğüne göre uygulamayı dışarı açmak için ngrok indirebiliriz. Buradan hangi işletim sistemini kullanıyorsak ona uygun olanı indirmemiz gerekiyor. İndirdiğimiz dosya .zip uzantılı bir dosya olduğu için ngrok.exe’yi çalıştırmadan önce indirilen dosyayı dışarı çıkarmamız gerekiyor. Dışarı çıkardıktan sonra uygulamayı nereye kurduysak CMD üzerinde o katmana gelip ngrok.exe yazıp Enter’a basmamız gerekiyor.

Karşımıza yukarıdaki gibi bir çıktı geliyor.

Bizim Web Api uygulamamız https://localhost:7102 den ayaklandığı için aşağıdaki kodu çalıştırarak URL’imizi yayına açmış oluyoruz.

ngrok http 7102

Forwarding kısmında yazan bir kullanmamız gereken URL’lerdir. Bizim uygulamamıza göre http ya da https olarak iki şekilde bağlantı sağlayabiliriz.

En başta atmış olduğumuz https://localhost:7102/weatherforecast isteğini bu seferde API’leri test etmemizi sağlayan bir uygulama kullanarak (ben Postman kullandım) https://51d7-90-158-106-221.ngrok.io/weatherforecast üzerinden isteği atarak yine aynı json çıktıya ulaşmamız gerekmemektedir.

--

--