{"id":32461,"date":"2025-10-22T03:02:14","date_gmt":"2025-10-22T00:02:14","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/"},"modified":"2025-10-22T03:02:14","modified_gmt":"2025-10-22T00:02:14","slug":"ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/","title":{"rendered":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n"},"content":{"rendered":"<p><body><\/p>\n<p>Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok&#8217;un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.<\/p>\n<p>Geli\u015ftiriciler olarak, projelerimizi genellikle yerel makinelerimizde, yani &#8220;localhost&#8221; \u00fczerinde geli\u015ftiririz. Bu, h\u0131zl\u0131 test ve hata ay\u0131klama imkan\u0131 sundu\u011fu i\u00e7in son derece verimlidir. Ancak, geli\u015ftirme s\u00fcrecinin bir noktas\u0131nda, yerel ortamda \u00e7al\u0131\u015fan bir uygulamay\u0131 d\u0131\u015f d\u00fcnyayla, \u00f6rne\u011fin bir m\u00fc\u015fteriyle, ekip arkada\u015f\u0131yla veya harici bir servisle payla\u015fman\u0131z gerekebilir. \u0130\u015fte tam bu noktada, geleneksel y\u00f6ntemler genellikle kafa kar\u0131\u015ft\u0131r\u0131c\u0131 ve zaman al\u0131c\u0131 olabilen zorluklar yarat\u0131r.<\/p>\n<p>D\u00fc\u015f\u00fcnsenize, bir mobil uygulaman\u0131n API entegrasyonlar\u0131n\u0131 test ediyorsunuz ve API&#8217;niz yerel sunucunuzda \u00e7al\u0131\u015f\u0131yor. Mobil cihaz\u0131n\u0131z\u0131n veya em\u00fclat\u00f6r\u00fcn\u00fcz\u00fcn bu yerel API&#8217;ye eri\u015febilmesi i\u00e7in karma\u015f\u0131k IP adresleri, port y\u00f6nlendirmeleri veya VPN yap\u0131land\u0131rmalar\u0131yla u\u011fra\u015fman\u0131z gerekebilir. Ya da bir m\u00fc\u015fterinize yeni bir \u00f6zelli\u011fin demosunu yapmak istiyorsunuz ama uygulaman\u0131z hen\u00fcz canl\u0131 bir sunucuya da\u011f\u0131t\u0131lmad\u0131. Ekran payla\u015f\u0131m\u0131 pratik olmayabilir ve m\u00fc\u015fterinin kendi cihaz\u0131ndan etkile\u015fim kurmas\u0131n\u0131 engeller. Benzer \u015fekilde, Stripe veya GitHub gibi harici servislerden gelen web kancalar\u0131n\u0131 (webhooks) test etmek istedi\u011finizde, bu servisler yerel makinenize do\u011frudan istek g\u00f6nderemezler, bu da geli\u015ftirme s\u00fcrecinizi aksat\u0131r.<\/p>\n<p>Bu t\u00fcr senaryolarda, genellikle uygulaman\u0131z\u0131 bir test sunucusuna da\u011f\u0131tmak, g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 de\u011fi\u015ftirmek veya y\u00f6nlendiricinizde port y\u00f6nlendirme yapmak gibi zahmetli ve \u00e7o\u011fu zaman g\u00fcvenlik riskleri bar\u0131nd\u0131ran \u00e7\u00f6z\u00fcmlere ba\u015fvurmak zorunda kal\u0131r\u0131z. Bu s\u00fcre\u00e7ler sadece zaman kaybettirmekle kalmaz, ayn\u0131 zamanda geli\u015ftiricinin ana i\u015fi olan kod yazmaya odaklanmas\u0131n\u0131 engeller. \u0130\u015fte ngrok, t\u00fcm bu sorunlara \u015f\u0131k, basit ve g\u00fcvenli bir \u00e7\u00f6z\u00fcm sunar. ngrok sayesinde, yerel sunucunuzdaki herhangi bir hizmeti tek bir komutla an\u0131nda ve g\u00fcvenli bir \u015fekilde internete a\u00e7abilir, yukar\u0131da bahsedilen t\u00fcm zorluklar\u0131n \u00fcstesinden gelebilirsiniz. B\u00f6ylece, geli\u015ftirme s\u00fcreciniz h\u0131zlan\u0131r, i\u015fbirli\u011fi kolayla\u015f\u0131r ve test yetenekleriniz \u00f6nemli \u00f6l\u00e7\u00fcde artar. Bu g\u00fc\u00e7l\u00fc arac\u0131n detaylar\u0131na inerek, yerel geli\u015ftirme deneyiminizi nas\u0131l d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fini ad\u0131m ad\u0131m ke\u015ffedece\u011fiz.<\/p>\n<h2>ngrok Tam Olarak Nedir ve Yerel Sunucular\u0131 Nas\u0131l D\u0131\u015fa A\u00e7\u0131yor?<\/h2>\n<p>ngrok, geli\u015ftiricilerin yerel bilgisayarlar\u0131nda \u00e7al\u0131\u015fan web sunucular\u0131n\u0131 veya di\u011fer TCP hizmetlerini, g\u00fcvenli bir t\u00fcnel arac\u0131l\u0131\u011f\u0131yla internet \u00fczerinden eri\u015filebilir hale getiren, platformlar aras\u0131 ve a\u00e7\u0131k kaynakl\u0131 bir ara\u00e7t\u0131r. K\u0131sacas\u0131, localhost&#8217;unuzdaki bir uygulamay\u0131 an\u0131nda ve g\u00fcvenli bir \u015fekilde d\u0131\u015f d\u00fcnyaya sunman\u0131z\u0131 sa\u011flayan bir k\u00f6pr\u00fc g\u00f6revi g\u00f6r\u00fcr. Bu \u00f6zellik, \u00f6zellikle web kancalar\u0131, API geli\u015ftirme, m\u00fc\u015fteri demolar\u0131 ve mobil uygulama testleri gibi bir\u00e7ok modern geli\u015ftirme senaryosu i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>ngrok&#8217;un Arkas\u0131ndaki T\u00fcnelleme Mant\u0131\u011f\u0131 Nas\u0131l \u0130\u015fler?<\/h3>\n<p>ngrok&#8217;un temelinde &#8220;g\u00fcvenli t\u00fcnelleme&#8221; ad\u0131 verilen bir mekanizma yatar. Bu mekanizma, yerel makineniz ile ngrok&#8217;un bulut tabanl\u0131 sunucular\u0131 aras\u0131nda \u015fifrelenmi\u015f, d\u0131\u015far\u0131dan eri\u015filebilir bir ba\u011flant\u0131 (t\u00fcnel) kurar. S\u00fcre\u00e7 a\u015fa\u011f\u0131daki ad\u0131mlarla a\u00e7\u0131klanabilir:<\/p>\n<ol>\n<li><strong>ngrok \u0130stemcisinin Ba\u015flat\u0131lmas\u0131:<\/strong> Siz yerel makinenizde ngrok istemcisini bir komutla ba\u015flatt\u0131\u011f\u0131n\u0131zda (\u00f6rne\u011fin, <code class=\"language-bash\">ngrok http 3000<\/code>), bu istemci, belirledi\u011finiz yerel portu dinlemeye ba\u015flar.<\/li>\n<li><strong>G\u00fcvenli T\u00fcnel Olu\u015fturma:<\/strong> ngrok istemcisi, daha sonra ngrok&#8217;un merkezi bulut sunucular\u0131na \u015fifrelenmi\u015f (genellikle HTTPS veya TLS \u00fczerinden) uzun \u00f6m\u00fcrl\u00fc bir ba\u011flant\u0131 kurar. Bu ba\u011flant\u0131, sizin yerel makineniz ile ngrok sunucular\u0131 aras\u0131nda bir t\u00fcnel olu\u015fturur. Bu t\u00fcnel, d\u0131\u015far\u0131dan gelen trafi\u011fi yerel a\u011f\u0131n\u0131za g\u00fcvenli bir \u015fekilde iletmek i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/li>\n<li><strong>Genel URL Olu\u015fturulmas\u0131:<\/strong> T\u00fcnel ba\u015far\u0131yla kurulduktan sonra, ngrok bulut sunucusu, uygulaman\u0131z i\u00e7in size benzersiz, rastgele olu\u015fturulmu\u015f bir genel URL (\u00f6rne\u011fin, <code class=\"language-bash\">https:\/\/abcdef12345.ngrok.io<\/code>) sa\u011flar. Bu URL, internetin herhangi bir yerinden eri\u015filebilir olacakt\u0131r.<\/li>\n<li><strong>\u0130steklerin Y\u00f6nlendirilmesi:<\/strong> Art\u0131k bu genel URL&#8217;ye yap\u0131lan herhangi bir HTTP iste\u011fi, \u00f6nce ngrok&#8217;un bulut sunucular\u0131na ula\u015f\u0131r. ngrok sunucusu, bu iste\u011fi daha \u00f6nce kurulan g\u00fcvenli t\u00fcnel \u00fczerinden sizin yerel makinenizdeki ngrok istemcisine iletir. \u0130stemci, bu iste\u011fi sizin belirtti\u011finiz yerel porta (bu \u00f6rnekte 3000) y\u00f6nlendirir.<\/li>\n<li><strong>Yan\u0131t\u0131n Geri D\u00f6nd\u00fcr\u00fclmesi:<\/strong> Yerel uygulaman\u0131z iste\u011fi i\u015fler, bir yan\u0131t \u00fcretir ve bu yan\u0131t\u0131 ngrok istemcisine geri g\u00f6nderir. ngrok istemcisi de yan\u0131t\u0131 g\u00fcvenli t\u00fcnel \u00fczerinden ngrok bulut sunucusuna iletir ve nihayetinde orijinal iste\u011fi yapan istemciye ula\u015ft\u0131r\u0131r.<\/li>\n<\/ol>\n<p>Bu s\u00fcre\u00e7, sanki uygulaman\u0131z do\u011frudan internet \u00fczerinde bar\u0131nd\u0131r\u0131l\u0131yormu\u015f gibi bir izlenim yarat\u0131r, oysa asl\u0131nda hala yerel makinenizde \u00e7al\u0131\u015fmaktad\u0131r. ngrok&#8217;un bu t\u00fcnelleme yetene\u011fi, NAT (Network Address Translation) sorunlar\u0131n\u0131, g\u00fcvenlik duvar\u0131 k\u0131s\u0131tlamalar\u0131n\u0131 ve karma\u015f\u0131k port y\u00f6nlendirme ayarlar\u0131n\u0131 ortadan kald\u0131r\u0131r. \u00dcstelik, ngrok genellikle t\u00fcneli HTTPS \u00fczerinden kurdu\u011fu i\u00e7in, yerel uygulaman\u0131z HTTP \u00fczerinde \u00e7al\u0131\u015fsa bile d\u0131\u015f d\u00fcnyaya g\u00fcvenli ve \u015fifrelenmi\u015f bir ba\u011flant\u0131 ile sunulur. Bu da geli\u015ftirme a\u015famas\u0131nda bile g\u00fcvenlik standartlar\u0131n\u0131 koruman\u0131za yard\u0131mc\u0131 olur ve uygulaman\u0131z\u0131n internet \u00fczerinde daha profesyonel g\u00f6r\u00fcnmesini sa\u011flar.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: ngrok&#8217;un size sundu\u011fu web aray\u00fcz\u00fc (<code class=\"language-bash\">http:\/\/127.0.0.1:4040<\/code>), t\u00fcnelinizden ge\u00e7en t\u00fcm istekleri ve yan\u0131tlar\u0131 ger\u00e7ek zamanl\u0131 olarak izlemenizi sa\u011flar. Bu, \u00f6zellikle web kancalar\u0131n\u0131 test ederken veya API&#8217;lerinizin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamaya \u00e7al\u0131\u015f\u0131rken paha bi\u00e7ilmez bir hata ay\u0131klama arac\u0131d\u0131r.\n    <\/div>\n<h2>ngrok&#8217;u Bilgisayar\u0131n\u0131za Nas\u0131l Kurar ve \u0130lk T\u00fcnelinizi A\u00e7ars\u0131n\u0131z?<\/h2>\n<p>ngrok&#8217;u kullanmaya ba\u015flamak olduk\u00e7a basit ve h\u0131zl\u0131d\u0131r. Bu b\u00f6l\u00fcmde, ngrok&#8217;u indirip kurmaktan, ilk t\u00fcnelinizi a\u00e7maya ve temel kimlik do\u011frulamas\u0131n\u0131 yapmaya kadar t\u00fcm ad\u0131mlar\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Bu ad\u0131mlar\u0131 takip ederek, yerel sunucunuzu saniyeler i\u00e7inde internete a\u00e7abileceksiniz.<\/p>\n<h3>Ad\u0131m 1: ngrok \u0130ndirme ve Kurulumu<\/h3>\n<ol>\n<li><strong>ngrok Web Sitesini Ziyaret Edin:<\/strong> \u0130lk olarak, web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve <a href=\"https:\/\/ngrok.com\/download\" target=\"_blank\">ngrok&#8217;un resmi indirme sayfas\u0131na<\/a> gidin.<\/li>\n<li><strong>\u0130\u015fletim Sisteminize Uygun S\u00fcr\u00fcm\u00fc \u0130ndirin:<\/strong> ngrok web sitesi, genellikle i\u015fletim sisteminizi (Windows, macOS, Linux) otomatik olarak alg\u0131lar ve size en uygun s\u00fcr\u00fcm\u00fc sunar. Genellikle bir .zip dosyas\u0131 indirmeniz istenecektir. \u0130ndirme i\u015flemine ba\u015flay\u0131n.<\/li>\n<li><strong>Dosyay\u0131 \u00c7\u0131kart\u0131n:<\/strong> \u0130ndirdi\u011finiz .zip dosyas\u0131n\u0131 bilgisayar\u0131n\u0131zda kolayca eri\u015febilece\u011finiz bir konuma (\u00f6rne\u011fin, Windows&#8217;ta <code class=\"language-bash\">C:\\ngrok<\/code>, macOS\/Linux&#8217;ta <code class=\"language-bash\">\/usr\/local\/bin<\/code> veya kendi belirledi\u011finiz bir dizine) \u00e7\u0131kart\u0131n. Bu dosya, <code>ngrok.exe<\/code> (Windows) veya sadece <code>ngrok<\/code> (macOS\/Linux) ad\u0131nda tek bir y\u00fcr\u00fct\u00fclebilir dosya i\u00e7erecektir.<\/li>\n<li><strong>PATH Ortam De\u011fi\u015fkenine Ekleme (\u00d6nerilir):<\/strong> E\u011fer ngrok komutunu herhangi bir dizinden do\u011frudan \u00e7al\u0131\u015ft\u0131rmak isterseniz, ngrok y\u00fcr\u00fct\u00fclebilir dosyas\u0131n\u0131n bulundu\u011fu dizini sisteminizin PATH ortam de\u011fi\u015fkenine eklemeniz \u00f6nerilir. Aksi takdirde, her komut \u00e7al\u0131\u015ft\u0131rmak istedi\u011finizde ngrok dosyas\u0131n\u0131n bulundu\u011fu dizine gitmeniz veya tam yolunu belirtmeniz gerekecektir.<\/li>\n<\/ol>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, ngrok&#8217;un kurulumu herhangi bir karma\u015f\u0131k sihirbaz veya uzun s\u00fcreli konfig\u00fcrasyon gerektirmez; sadece indir, \u00e7\u0131kart ve \u00e7al\u0131\u015ft\u0131r!<\/p>\n<h3>Ad\u0131m 2: ngrok Hesab\u0131 Olu\u015fturma ve Kimlik Do\u011frulama (Authtoken)<\/h3>\n<p>ngrok&#8217;un t\u00fcm \u00f6zelliklerinden yararlanmak, kal\u0131c\u0131 t\u00fcneller olu\u015fturmak ve kontrol paneline eri\u015fmek i\u00e7in bir hesap olu\u015fturman\u0131z ve kimlik do\u011frulama belirtecinizi (authtoken) yap\u0131land\u0131rman\u0131z gerekmektedir.<\/p>\n<ol>\n<li><strong>Hesap Olu\u015fturun:<\/strong> ngrok indirme sayfas\u0131nda veya ana sayfas\u0131nda &#8220;Sign Up&#8221; butonuna t\u0131klayarak \u00fccretsiz bir hesap olu\u015fturun. Google, GitHub veya e-posta adresinizle kolayca kay\u0131t olabilirsiniz.<\/li>\n<li><strong>Authtoken&#8217;\u0131n\u0131z\u0131 Kopyalay\u0131n:<\/strong> Hesab\u0131n\u0131za giri\u015f yapt\u0131ktan sonra, ngrok kontrol panelinizin ana sayfas\u0131nda veya &#8220;Your Authtoken&#8221; b\u00f6l\u00fcm\u00fcnde size \u00f6zel olarak olu\u015fturulmu\u015f benzersiz authtoken&#8217;\u0131n\u0131z\u0131 g\u00f6receksiniz. Bu belirteci kopyalay\u0131n.<\/li>\n<li><strong>ngrok&#8217;u Kimlik Do\u011frulay\u0131n:<\/strong> Kopyalad\u0131\u011f\u0131n\u0131z authtoken&#8217;\u0131 a\u015fa\u011f\u0131daki komutla terminalinizde veya komut istemcinizde \u00e7al\u0131\u015ft\u0131r\u0131n. <code><Sizin_Authtoken&#039;\u0131n\u0131z><\/code> k\u0131sm\u0131n\u0131 kendi authtoken&#8217;\u0131n\u0131z ile de\u011fi\u015ftirin:\n<pre><code class=\"language-bash\">ngrok authtoken <Sizin_Authtoken'\u0131n\u0131z><\/pre>\n<p><\/code><\/p>\n<p>\u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">ngrok authtoken 2J9h8Gk1lP7mN3oR6qS4tU2vX1yZ0wVb<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, authtoken'\u0131n\u0131z\u0131 ngrok yap\u0131land\u0131rma dosyas\u0131na (genellikle <code class=\"language-bash\">~\/.ngrok2\/ngrok.yml<\/code> veya <code class=\"language-bash\">%USERPROFILE%\\.ngrok2\\ngrok.yml<\/code>) kaydeder. Bu i\u015flemi sadece bir kez yapman\u0131z yeterlidir.<\/p>\n<\/ol>\n<h3>Ad\u0131m 3: \u0130lk T\u00fcnelinizi A\u00e7ma<\/h3>\n<p>\u015eimdi en heyecan verici k\u0131s\u0131m: yerel sunucunuzu internete a\u00e7mak! Diyelim ki, yerel makinenizde <code class=\"language-bash\">http:\/\/localhost:3000<\/code> adresinde \u00e7al\u0131\u015fan bir web uygulaman\u0131z veya API'niz var. Bir HTTP t\u00fcneli a\u00e7mak i\u00e7in a\u015fa\u011f\u0131daki basit komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ngrok http 3000<\/pre>\n<p><\/code><\/p>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, terminalinizde ngrok'un durum ekran\u0131n\u0131 g\u00f6receksiniz. Bu ekranda, size atanan genel URL'ler (Forwarding addresses) listelenir. Genellikle hem bir HTTP hem de bir HTTPS URL'si sa\u011flan\u0131r:<\/p>\n<pre><code class=\"language-bash\">ngrok                                                                            (online)\n\nSession Status                online\nAccount                       [your-username] (Plan: Free)\nVersion                       3.x.x\nRegion                        United States (us)\nWeb Interface                 http:\/\/127.0.0.1:4040\nForwarding                    http:\/\/abcdef12345.ngrok.io -> http:\/\/localhost:3000\nForwarding                    https:\/\/abcdef12345.ngrok.io -> http:\/\/localhost:3000\n\nConnections                   ttl     opn     rt1     rt5     p50     p90\n                              0       0       0.00    0.00    0.00    0.00<\/pre>\n<p><\/code><\/p>\n<p>Art\u0131k <code class=\"language-bash\">https:\/\/abcdef12345.ngrok.io<\/code> adresini kopyalayabilir ve d\u00fcnyan\u0131n herhangi bir yerinden bu URL'yi kullanarak yerel uygulaman\u0131za g\u00fcvenle eri\u015febilirsiniz! T\u00fcnel aktif oldu\u011fu s\u00fcrece, uygulaman\u0131z d\u0131\u015far\u0131dan eri\u015filebilir olacakt\u0131r. ngrok oturumunu sonland\u0131rmak i\u00e7in terminalde <code class=\"language-bash\">Ctrl+C<\/code> tu\u015f kombinasyonunu kullanman\u0131z yeterlidir.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: ngrok, yerel sunucunuz HTTP \u00fczerinde \u00e7al\u0131\u015fsa bile d\u0131\u015f d\u00fcnyaya HTTPS \u00fczerinden g\u00fcvenli bir ba\u011flant\u0131 sunar. Bu, uygulaman\u0131z\u0131n ilk andan itibaren g\u00fcvenli bir \u015fekilde sunulmas\u0131n\u0131 sa\u011flar ve SSL\/TLS sertifikalar\u0131yla u\u011fra\u015fma derdini ortadan kald\u0131r\u0131r.\n    <\/div>\n<p>Bu ilk ad\u0131mlarla, ngrok'un temel g\u00fcc\u00fcn\u00fc deneyimlemi\u015f oldunuz. \u0130ster basit bir HTML sayfas\u0131, ister karma\u015f\u0131k bir Node.js API'si olsun, yerel sunucunuz art\u0131k parmaklar\u0131n\u0131z\u0131n ucunda, internete a\u00e7\u0131k bir \u015fekilde sizi bekliyor.<\/p>\n<h2>ngrok ile Neler Yapabilirsiniz? \u0130leri D\u00fczey Senaryolar ve \u00d6zellikler<\/h2>\n<p>ngrok'un sadece yerel bir HTTP sunucusunu d\u0131\u015fa a\u00e7maktan \u00e7ok daha fazlas\u0131n\u0131 sundu\u011funu bilmek, bu arac\u0131n ger\u00e7ek potansiyelini anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. ngrok, geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131rmak ve i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 kolayla\u015ft\u0131rmak i\u00e7in bir dizi geli\u015fmi\u015f \u00f6zellik ve kullan\u0131m senaryosu sunar. Art\u0131k temel kurulumu tamamlad\u0131\u011f\u0131n\u0131za g\u00f6re, ngrok'u daha verimli ve g\u00fc\u00e7l\u00fc bir \u015fekilde kullanman\u0131n yollar\u0131n\u0131 ke\u015ffedelim.<\/p>\n<h3>1. Web Kancalar\u0131n\u0131 (Webhooks) G\u00fcvenle Test Etmek Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>API geli\u015ftiricileri i\u00e7in web kancalar\u0131 (webhooks), harici servislerin (\u00f6rne\u011fin Stripe, PayPal, GitHub, Slack) uygulaman\u0131zdaki belirli olaylar\u0131 tetiklemesini sa\u011flayan kritik bir entegrasyon noktas\u0131d\u0131r. Ancak bu servisler, genellikle yerel makinenizdeki bir URL'ye do\u011frudan istek g\u00f6nderemezler. \u0130\u015fte ngrok'un bu noktada ne kadar hayat kurtar\u0131c\u0131 oldu\u011funu g\u00f6receksiniz. Yerel sunucunuzda \u00e7al\u0131\u015fan bir web kancas\u0131 al\u0131c\u0131s\u0131 oldu\u011funu varsayal\u0131m. ngrok ile bu al\u0131c\u0131y\u0131 an\u0131nda internete a\u00e7abilir ve harici servisin yap\u0131land\u0131rma ayar\u0131na ngrok taraf\u0131ndan sa\u011flanan genel URL'yi girebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ngrok http 8080 # Webhook al\u0131c\u0131n\u0131z 8080 portunda \u00e7al\u0131\u015f\u0131yorsa<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, uygulaman\u0131z i\u00e7in g\u00fcvenli ve herkese a\u00e7\u0131k bir URL olu\u015fturacakt\u0131r. Art\u0131k harici servis, olay bildirimlerini do\u011frudan sizin yerel makinenizde \u00e7al\u0131\u015fan uygulaman\u0131za g\u00f6nderebilir. Bu, test ve hata ay\u0131klama s\u00fcrecini inan\u0131lmaz derecede h\u0131zland\u0131r\u0131r ve her de\u011fi\u015fiklik i\u00e7in uygulamay\u0131 uzak bir sunucuya da\u011f\u0131tma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r.<\/p>\n<h3>2. \u00d6zel Alan Adlar\u0131 (Custom Domains) ile Profesyonel G\u00f6r\u00fcn\u00fcm Sa\u011flama<\/h3>\n<p>ngrok'un \u00fccretsiz s\u00fcr\u00fcm\u00fc, her yeni t\u00fcnelde rastgele alt alan adlar\u0131 (\u00f6rne\u011fin <code class=\"language-bash\">abcdef12345.ngrok.io<\/code>) atar. Ancak, \u00f6zellikle bir prototipi veya demonuzu daha profesyonel bir \u015fekilde sunmak istedi\u011finizde, kendi \u00f6zel alan ad\u0131n\u0131z\u0131 kullanmak istersiniz. ngrok'un \u00fccretli planlar\u0131, bu \u00f6zelli\u011fi sunar. \u00d6zel alan ad\u0131n\u0131z\u0131 ngrok kontrol panelinizden yap\u0131land\u0131rd\u0131ktan sonra (DNS kay\u0131tlar\u0131n\u0131 ayarlaman\u0131z gerekir), t\u00fcnelinizi a\u015fa\u011f\u0131daki gibi bir komutla a\u00e7abilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ngrok http -hostname=your.customdomain.com 80<\/pre>\n<p><\/code><\/p>\n<p>ngrok, \u00f6zel alan adlar\u0131n\u0131z i\u00e7in otomatik olarak SSL sertifikalar\u0131 sa\u011flar, b\u00f6ylece uygulaman\u0131z her zaman HTTPS \u00fczerinden g\u00fcvenli bir \u015fekilde sunulur. Bu, hem g\u00fcvenlik hem de marka bilinirli\u011fi a\u00e7\u0131s\u0131ndan \u00f6nemli bir avantajd\u0131r.<\/p>\n<h3>3. Temel Kimlik Do\u011frulama (Basic Auth) ile T\u00fcnel G\u00fcvenli\u011fini Nas\u0131l Art\u0131r\u0131rs\u0131n\u0131z?<\/h3>\n<p>Yerel sunucunuzu internete a\u00e7t\u0131\u011f\u0131n\u0131zda, herkesin ona eri\u015fmesini istemeyebilirsiniz. \u00d6zellikle hassas veriler i\u00e7eren veya hen\u00fcz geli\u015ftirme a\u015famas\u0131ndaki uygulamalar i\u00e7in bu ge\u00e7erlidir. ngrok, t\u00fcnelinize temel kimlik do\u011frulama (basic authentication) eklemenize olanak tan\u0131r, b\u00f6ylece sadece belirli kullan\u0131c\u0131 adlar\u0131 ve \u015fifreleri bilenler eri\u015febilir:<\/p>\n<pre><code class=\"language-bash\">ngrok http -auth=\"kullaniciadi:sifre\" 3000<\/pre>\n<p><\/code><\/p>\n<p>Bu komutla, t\u00fcnele eri\u015fmeye \u00e7al\u0131\u015fan herkesin bir kullan\u0131c\u0131 ad\u0131 ve \u015fifre girmesi gerekecektir. Bu, geli\u015ftirme a\u015famas\u0131ndaki uygulamalar\u0131n\u0131z\u0131 yetkisiz eri\u015fimden korumak i\u00e7in h\u0131zl\u0131 ve etkili bir katman sa\u011flar. Ancak, bu temel bir koruma katman\u0131 oldu\u011fundan, kritik uygulamalar i\u00e7in daha sa\u011flam g\u00fcvenlik \u00f6nlemleri almay\u0131 unutmay\u0131n.<\/p>\n<h3>4. TCP T\u00fcnelleme: SSH, Veritabanlar\u0131 ve Di\u011fer Protokoller \u0130\u00e7in Kullan\u0131m<\/h3>\n<p>ngrok'un g\u00fcc\u00fc sadece HTTP\/HTTPS trafi\u011fiyle s\u0131n\u0131rl\u0131 de\u011fildir. TCP t\u00fcnelleme \u00f6zelli\u011fi sayesinde, herhangi bir TCP portunu da d\u0131\u015fa a\u00e7abilirsiniz. Bu, uzaktan SSH eri\u015fimi sa\u011flamak, yerel bir veritaban\u0131na uzaktan ba\u011flanmak, oyun sunucular\u0131 veya \u00f6zel protokoller kullanan di\u011fer uygulamalar\u0131 test etmek i\u00e7in idealdir.<\/p>\n<p>\u00d6rne\u011fin, bir SSH sunucusunu (varsay\u0131lan port 22) d\u0131\u015fa a\u00e7mak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ngrok tcp 22<\/pre>\n<p><\/code><\/p>\n<p>ngrok size rastgele bir TCP adresi ve portu (\u00f6rne\u011fin, <code class=\"language-bash\">tcp:\/\/0.tcp.ngrok.io:12345<\/code>) sa\u011flayacakt\u0131r. Ard\u0131ndan, SSH istemcinizle bu adresi ve portu kullanarak ba\u011flant\u0131 kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ssh -p 12345 user@0.tcp.ngrok.io<\/pre>\n<p><\/code><\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: ngrok'un <code class=\"language-bash\">ngrok.yml<\/code> yap\u0131land\u0131rma dosyas\u0131, birden fazla t\u00fcneli ve bunlar\u0131n ayarlar\u0131n\u0131 (auth, hostname, port, protokol vb.) \u00f6nceden tan\u0131mlaman\u0131za olanak tan\u0131r. Bu sayede, farkl\u0131 projeler veya farkl\u0131 ihtiya\u00e7lar i\u00e7in t\u00fcnellerinizi kolayca y\u00f6netebilir ve <code class=\"language-bash\">ngrok start --all<\/code> komutuyla hepsini ayn\u0131 anda ba\u015flatabilirsiniz. Bu, \u00f6zellikle karma\u015f\u0131k geli\u015ftirme ortamlar\u0131 i\u00e7in \u00e7ok zaman kazand\u0131r\u0131c\u0131d\u0131r.<\/p>\n<pre><code class=\"language-yaml\">\nauthtoken: <sizin_authtoken'\u0131n\u0131z>\ntunnels:\n  my_web_app:\n    addr: 3000\n    proto: http\n  api_webhook:\n    addr: 8080\n    proto: http\n    auth: \"admin:supersecret\"\n  ssh_access:\n    addr: 22\n    proto: tcp\n        <\/pre>\n<p><\/code>\n    <\/div>\n<p>Bu ileri d\u00fczey \u00f6zellikler, ngrok'un sadece basit bir t\u00fcnelleme arac\u0131ndan \u00e7ok daha fazlas\u0131 oldu\u011funu g\u00f6sterir. Geli\u015ftirme s\u00fcrecinizi kolayla\u015ft\u0131rmak, i\u015fbirli\u011fini geli\u015ftirmek ve test s\u00fcre\u00e7lerinizi optimize etmek i\u00e7in geni\u015f bir yelpazede \u00e7\u00f6z\u00fcmler sunar.<\/p>\n<h2>ngrok Ger\u00e7ek D\u00fcnyada Nas\u0131l Kullan\u0131l\u0131r? Pratik Vaka Analizleri<\/h2>\n<p>ngrok'un teorik yeteneklerini ve ileri d\u00fczey \u00f6zelliklerini ele ald\u0131k. \u015eimdi, bu bilgiyi ger\u00e7ek d\u00fcnya senaryolar\u0131na uygulayarak ngrok'un geli\u015ftiricilere ve ekiplere nas\u0131l somut faydalar sa\u011flad\u0131\u011f\u0131n\u0131 g\u00f6relim. Bu vaka analizleri, ngrok'un sadece bir teknik ara\u00e7 olmaktan \u00f6teye ge\u00e7ip, modern geli\u015ftirme i\u015f ak\u0131\u015flar\u0131nda nas\u0131l kritik bir rol oynad\u0131\u011f\u0131n\u0131 g\u00f6zler \u00f6n\u00fcne serecektir.<\/p>\n<h3>Vaka Analizi 1: Mobil Uygulama ve API Entegrasyonu Geli\u015ftirmesi Nas\u0131l H\u0131zland\u0131r\u0131l\u0131r?<\/h3>\n<p><strong>Senaryo:<\/strong> Bir mobil uygulama geli\u015ftiricisi, yeni bir \u00f6zelli\u011fin arka u\u00e7 (backend) API'sini kendi yerel makinesinde geli\u015ftiriyor. Mobil uygulaman\u0131n kendisi bir em\u00fclat\u00f6rde veya fiziksel bir cihazda \u00e7al\u0131\u015f\u0131yor ve bu cihaz\u0131n yerel a\u011fa do\u011frudan ba\u011flant\u0131s\u0131 yok ya da farkl\u0131 bir a\u011fda bulunuyor. Geli\u015ftiricinin amac\u0131, mobil uygulaman\u0131n API ile sorunsuz bir \u015fekilde konu\u015fmas\u0131n\u0131 sa\u011flamak.<\/p>\n<p><strong>Problem:<\/strong> Mobil uygulama geli\u015ftiricisinin her API de\u011fi\u015fikli\u011fini test etmek i\u00e7in arka u\u00e7 uygulamas\u0131n\u0131 s\u00fcrekli olarak bir test sunucusuna da\u011f\u0131tmas\u0131 gerekiyor. Bu s\u00fcre\u00e7, her k\u00fc\u00e7\u00fck d\u00fczeltme veya \u00f6zellik eklemesi i\u00e7in tekrarlanmas\u0131 gerekti\u011finden, hem zaman al\u0131c\u0131 hem de olduk\u00e7a yorucudur. Bu durum, geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fc yava\u015flat\u0131r ve hata ay\u0131klamay\u0131 zorla\u015ft\u0131r\u0131r.<\/p>\n<p><strong>ngrok \u00c7\u00f6z\u00fcm\u00fc:<\/strong> Geli\u015ftirici, arka u\u00e7 API'sinin \u00e7al\u0131\u015ft\u0131\u011f\u0131 yerel portu (\u00f6rne\u011fin 4000) ngrok ile d\u0131\u015fa a\u00e7ar:<\/p>\n<pre><code class=\"language-bash\">ngrok http 4000<\/pre>\n<p><\/code><\/p>\n<p>ngrok, <code class=\"language-bash\">https:\/\/mobilapi.ngrok.io<\/code> gibi herkese a\u00e7\u0131k ve g\u00fcvenli bir URL sa\u011flar. Geli\u015ftirici, mobil uygulamas\u0131ndaki API \u00e7a\u011fr\u0131lar\u0131n\u0131n URL'sini bu ngrok adresine \u00e7evirir. Art\u0131k mobil uygulama, yerel makinesinde \u00e7al\u0131\u015fan arka u\u00e7 API'sine ngrok t\u00fcneli \u00fczerinden eri\u015febilir. Geli\u015ftirici, API'de yapt\u0131\u011f\u0131 her de\u011fi\u015fikli\u011fi an\u0131nda mobil uygulamadan test edebilir, b\u00f6ylece s\u00fcrekli da\u011f\u0131t\u0131m gereksinimini tamamen ortadan kald\u0131r\u0131r ve geli\u015ftirme h\u0131z\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<p><strong>Faydalar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>H\u0131z ve \u00c7eviklik:<\/strong> Geli\u015ftirme ve test d\u00f6ng\u00fcs\u00fc dramatik bir \u015fekilde h\u0131zlan\u0131r, bu da daha h\u0131zl\u0131 iterasyonlar ve \u00fcr\u00fcn teslimi anlam\u0131na gelir.<\/li>\n<li><strong>Esneklik:<\/strong> Mobil cihazlar veya em\u00fclat\u00f6rler, herhangi bir a\u011fdan yerel API'ye kolayca eri\u015febilir, farkl\u0131 a\u011f ko\u015fullar\u0131nda test imkan\u0131 sunar.<\/li>\n<li><strong>Basitlik:<\/strong> Karma\u015f\u0131k a\u011f yap\u0131land\u0131rmalar\u0131yla (IP adresleri, port y\u00f6nlendirmeleri) u\u011fra\u015fmaya gerek kalmaz, kurulum basitle\u015fir.<\/li>\n<\/ul>\n<h3>Vaka Analizi 2: Web Kancas\u0131 (Webhook) Tabanl\u0131 \u00d6deme Sistemleri Entegrasyonu Nas\u0131l Test Edilir?<\/h3>\n<p><strong>Senaryo:<\/strong> Bir e-ticaret platformu geli\u015ftiricisi, Stripe gibi pop\u00fcler bir \u00f6deme a\u011f ge\u00e7idi ile entegrasyon yapmakta. Bu t\u00fcr sistemler, \u00f6deme durumu de\u011fi\u015fikliklerini (\u00f6rne\u011fin, \u00f6deme ba\u015far\u0131l\u0131, iade edildi) uygulaman\u0131za web kancalar\u0131 arac\u0131l\u0131\u011f\u0131yla bildirir.<\/p>\n<p><strong>Problem:<\/strong> \u00d6deme a\u011f ge\u00e7idi, web kancas\u0131 bildirimlerini yerel sunucunuzdaki bir adrese do\u011frudan g\u00f6nderemez. Bu, geli\u015ftiricinin web kancas\u0131 al\u0131c\u0131s\u0131n\u0131 test etmek i\u00e7in her seferinde uygulamas\u0131n\u0131 canl\u0131ya benzer bir test ortam\u0131na da\u011f\u0131tmas\u0131 gerekti\u011fi anlam\u0131na gelir. Bu da zaman kayb\u0131na ve verimsizli\u011fe yol a\u00e7ar.<\/p>\n<p><strong>ngrok \u00c7\u00f6z\u00fcm\u00fc:<\/strong> Geli\u015ftirici, \u00f6deme a\u011f ge\u00e7idinden gelen web kancas\u0131 bildirimlerini dinleyen yerel sunucusunun portunu (\u00f6rne\u011fin 5000) ngrok ile d\u0131\u015fa a\u00e7ar:<\/p>\n<pre><code class=\"language-bash\">ngrok http 5000<\/pre>\n<p><\/code><\/p>\n<p>ngrok, <code class=\"language-bash\">https:\/\/stripehooks.ngrok.io<\/code> gibi benzersiz ve g\u00fcvenli bir URL sa\u011flar. Geli\u015ftirici, Stripe kontrol panelindeki web kancas\u0131 URL'sini bu ngrok adresine g\u00fcnceller. Art\u0131k Stripe, bir \u00f6deme olay\u0131 ger\u00e7ekle\u015fti\u011finde bildirimleri do\u011frudan geli\u015ftiricinin yerel makinesindeki uygulamas\u0131na g\u00fcvenli bir \u015fekilde g\u00f6nderebilir. Geli\u015ftirici, t\u00fcm web kancas\u0131 ak\u0131\u015f\u0131n\u0131 yerel ortam\u0131nda hata ay\u0131klayabilir ve test edebilir, b\u00f6ylece entegrasyon s\u00fcrecini h\u0131zland\u0131r\u0131r.<\/p>\n<p><strong>Faydalar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Ger\u00e7ek Zamanl\u0131 Test:<\/strong> Ger\u00e7ek \u00f6deme a\u011f ge\u00e7idi bildirimlerini yerel olarak test etme imkan\u0131, sim\u00fclasyonlara olan ihtiyac\u0131 azalt\u0131r.<\/li>\n<li><strong>Hata Ay\u0131klama Kolayl\u0131\u011f\u0131:<\/strong> Yerel ortamda g\u00fc\u00e7l\u00fc hata ay\u0131klama ara\u00e7lar\u0131n\u0131 kullanarak sorunlar\u0131 h\u0131zla tespit etme ve \u00e7\u00f6zme.<\/li>\n<li><strong>G\u00fcvenlik:<\/strong> Hassas \u00f6deme verilerini test ortamlar\u0131na ta\u015f\u0131madan, yerel ve kontroll\u00fc bir ortamda \u00e7al\u0131\u015fabilme, veri g\u00fcvenli\u011fini art\u0131r\u0131r.<\/li>\n<\/ul>\n<h3>Vaka Analizi 3: Uzaktan \u0130\u015fbirli\u011fi ve M\u00fc\u015fteri Demolar\u0131 Nas\u0131l Kolayla\u015ft\u0131r\u0131l\u0131r?<\/h3>\n<p><strong>Senaryo:<\/strong> Bir web geli\u015ftirme ajans\u0131, yeni bir web sitesi projesi \u00fczerinde \u00e7al\u0131\u015f\u0131yor. Proje hen\u00fcz canl\u0131 sunucuya da\u011f\u0131t\u0131lamayacak kadar erken bir a\u015famada olmas\u0131na ra\u011fmen, m\u00fc\u015fteriye s\u0131k s\u0131k ilerlemeyi g\u00f6stermeleri ve geri bildirim almalar\u0131 gerekiyor. Ayr\u0131ca, farkl\u0131 co\u011frafyalarda bulunan ekip \u00fcyelerinin de yerel ortamda geli\u015ftirilen \u00f6zelliklere eri\u015fmesi gerekebilir.<\/p>\n<p><strong>Problem:<\/strong> M\u00fc\u015fteriye ekran payla\u015f\u0131m\u0131 yapmak her zaman pratik de\u011fildir ve m\u00fc\u015fterinin projeyi kendi cihaz\u0131ndan do\u011frudan deneyimlemesine izin vermez. Ekip \u00fcyeleri de, yerel olarak \u00e7al\u0131\u015fan \u00f6zellikleri ba\u015fkalar\u0131n\u0131n test etmesini veya incelemesini sa\u011flayamaz, bu da i\u015fbirli\u011fini yava\u015flat\u0131r.<\/p>\n<p><strong>ngrok \u00c7\u00f6z\u00fcm\u00fc:<\/strong> Her geli\u015ftirici, \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 web sitesi projesinin yerel sunucusunu ngrok ile d\u0131\u015fa a\u00e7ar. \u00d6rne\u011fin, bir geli\u015ftirici projesini 80 portunda \u00e7al\u0131\u015ft\u0131r\u0131yorsa:<\/p>\n<pre><code class=\"language-bash\">ngrok http 80<\/pre>\n<p><\/code><\/p>\n<p>Olu\u015fturulan ngrok URL'sini (\u00f6rne\u011fin <code class=\"language-bash\">https:\/\/projedemo.ngrok.io<\/code>), m\u00fc\u015fteri veya ekip arkada\u015flar\u0131yla g\u00fcvenle payla\u015f\u0131r. M\u00fc\u015fteri, taray\u0131c\u0131s\u0131ndan bu URL'ye eri\u015ferek projenin en g\u00fcncel halini kendi cihaz\u0131ndan deneyimleyebilir ve do\u011frudan geri bildirim sa\u011flayabilir. Ekip \u00fcyeleri, birbirlerinin geli\u015ftirdi\u011fi \u00f6zellikleri an\u0131nda test edebilir, bu da verimli bir i\u015fbirli\u011fi ortam\u0131 yarat\u0131r.<\/p>\n<p><strong>Faydalar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Kolay Payla\u015f\u0131m:<\/strong> Basit bir URL ile projeyi herkesle an\u0131nda ve g\u00fcvenle payla\u015fma imkan\u0131.<\/li>\n<li><strong>Ger\u00e7ek Zamanl\u0131 Geri Bildirim:<\/strong> M\u00fc\u015fteriden veya ekip \u00fcyelerinden h\u0131zl\u0131 ve do\u011frudan geri bildirim alma, projenin do\u011fru y\u00f6nde ilerlemesini sa\u011flar.<\/li>\n<li><strong>Geli\u015ftirilmi\u015f \u0130\u015fbirli\u011fi:<\/strong> Ekip i\u00e7inde geli\u015ftirilen \u00f6zellikleri herkesin kolayca g\u00f6rmesini ve test etmesini sa\u011flama, tak\u0131m \u00e7al\u0131\u015fmas\u0131n\u0131 g\u00fc\u00e7lendirir.<\/li>\n<li><strong>Versiyon Kontrol\u00fc:<\/strong> Uygulaman\u0131n farkl\u0131 versiyonlar\u0131n\u0131 (farkl\u0131 geli\u015ftiricilerin makinelerinde \u00e7al\u0131\u015fan) ayr\u0131 ngrok t\u00fcnelleri arac\u0131l\u0131\u011f\u0131yla ayn\u0131 anda sergileyebilme esnekli\u011fi.<\/li>\n<\/ul>\n<p>Bu vaka analizleri, ngrok'un sadece bir teknik ara\u00e7 olman\u0131n \u00f6tesinde, geli\u015ftirme s\u00fcre\u00e7lerini, i\u015fbirli\u011fini ve test pratiklerini nas\u0131l d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fini a\u00e7\u0131k\u00e7a ortaya koymaktad\u0131r. ngrok, karma\u015f\u0131kl\u0131\u011f\u0131 ortadan kald\u0131rarak geli\u015ftiricilerin ve ekiplerin daha verimli \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r ve modern web geli\u015ftirmenin vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelir.<\/p>\n<h2>ngrok ile G\u00fcvenli ve H\u0131zl\u0131 \u00c7al\u0131\u015fmak: Performans, G\u00fcvenlik ve Mobil Test \u0130pu\u00e7lar\u0131<\/h2>\n<p>ngrok kullan\u0131rken sadece bir t\u00fcnel a\u00e7mak yetmez; ayn\u0131 zamanda performans\u0131 optimize etmek, g\u00fcvenli\u011fi sa\u011flamak ve mobil uyumluluk gibi modern geli\u015ftirme ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak da \u00f6nemlidir. Bu b\u00f6l\u00fcmde, ngrok deneyiminizi daha verimli, g\u00fcvenli ve kapsaml\u0131 hale getirecek pratik ipu\u00e7lar\u0131n\u0131 ve mobil uyumlu HTML \u00fcretiminde ngrok'un vazge\u00e7ilmez rol\u00fcn\u00fc ele alaca\u011f\u0131z.<\/p>\n<h3>ngrok Performans\u0131n\u0131 Nas\u0131l Optimize Edersiniz?<\/h3>\n<p>ngrok, varsay\u0131lan olarak iyi performans g\u00f6sterse de, baz\u0131 optimizasyonlarla t\u00fcnelinizin yan\u0131t s\u00fcrelerini ve genel performans\u0131n\u0131 daha da iyile\u015ftirebilirsiniz:<\/p>\n<ol>\n<li><strong>B\u00f6lge Se\u00e7imi:<\/strong> ngrok, d\u00fcnya genelinde farkl\u0131 co\u011frafi b\u00f6lgelerde sunuculara sahiptir (\u00f6rne\u011fin, <code class=\"language-bash\">us<\/code> - Amerika Birle\u015fik Devletleri, <code class=\"language-bash\">eu<\/code> - Avrupa, <code class=\"language-bash\">ap<\/code> - Asya\/Pasifik, <code class=\"language-bash\">au<\/code> - Avustralya). T\u00fcnelinizi a\u00e7arken, hedef kitlenize veya test etti\u011finiz kullan\u0131c\u0131lara en yak\u0131n b\u00f6lgeyi se\u00e7mek, a\u011f gecikmesini (latency) \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilir. \u00d6rne\u011fin, Avrupa'daki kullan\u0131c\u0131lar i\u00e7in t\u00fcnel a\u00e7arken a\u015fa\u011f\u0131daki komutu kullan\u0131n:\n<pre><code class=\"language-bash\">ngrok http 3000 --region eu<\/pre>\n<p><\/code><br \/>\n            Bu, trafi\u011fin co\u011frafi olarak daha k\u0131sa bir yol izlemesini sa\u011flayarak performans\u0131 art\u0131r\u0131r.\n        <\/li>\n<li><strong>Y\u00fcksek Bant Geni\u015fli\u011fi ve E\u015fzamanl\u0131 Ba\u011flant\u0131lar:<\/strong> ngrok'un \u00fccretli planlar\u0131, genellikle \u00fccretsiz plana g\u00f6re daha y\u00fcksek bant geni\u015fli\u011fi limitleri ve daha fazla e\u015fzamanl\u0131 ba\u011flant\u0131 kapasitesi sunar. E\u011fer yo\u011fun trafik bekliyorsan\u0131z, b\u00fcy\u00fck dosyalar aktar\u0131yorsan\u0131z veya bir\u00e7ok e\u015fzamanl\u0131 kullan\u0131c\u0131yla test yap\u0131yorsan\u0131z, \u00fccretli bir plana ge\u00e7i\u015f yapmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/li>\n<li><strong>Yerel Uygulaman\u0131z\u0131n Performans\u0131:<\/strong> Unutmay\u0131n ki ngrok, t\u00fcnelleme katman\u0131nda h\u0131zl\u0131d\u0131r, ancak nihayetinde yerel uygulaman\u0131z\u0131n performans\u0131 da genel kullan\u0131c\u0131 deneyimini do\u011frudan etkiler. ngrok t\u00fcneli \u00fczerinden yava\u015f \u00e7al\u0131\u015fan bir uygulamay\u0131 sunarsan\u0131z, son kullan\u0131c\u0131 deneyimi yine de k\u00f6t\u00fc olacakt\u0131r. Uygulaman\u0131z\u0131n kendi kod optimizasyonlar\u0131na, veritaban\u0131 sorgu h\u0131zlar\u0131na ve statik dosya sunumuna dikkat edin.<\/li>\n<\/ol>\n<h3>ngrok Kullan\u0131m\u0131nda G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>Yerel sunucunuzu internete a\u00e7mak, her zaman potansiyel g\u00fcvenlik risklerini de beraberinde getirir. Bu riskleri en aza indirmek ve geli\u015ftirme ortam\u0131n\u0131z\u0131 korumak i\u00e7in a\u015fa\u011f\u0131daki g\u00fcvenlik ipu\u00e7lar\u0131n\u0131 uygulaman\u0131z hayati \u00f6nem ta\u015f\u0131r:<\/p>\n<ol>\n<li><strong>Temel Kimlik Do\u011frulama (Basic Auth) Kullan\u0131n:<\/strong> \u00d6zellikle hassas verilere sahip veya hen\u00fcz geli\u015ftirme a\u015famas\u0131ndaki uygulamalar i\u00e7in t\u00fcnelinize <code>auth<\/code> parametresi ile bir kullan\u0131c\u0131 ad\u0131 ve \u015fifre ekleyerek yetkisiz eri\u015fimi engelleyin:\n<pre><code class=\"language-bash\">ngrok http -auth=\"kullanici:gucluusifre\" 8000<\/pre>\n<p><\/code><br \/>\n            Bu, t\u00fcnele eri\u015fmeye \u00e7al\u0131\u015fan her kullan\u0131c\u0131n\u0131n bu kimlik bilgilerini sa\u011flamas\u0131n\u0131 zorunlu k\u0131lar.\n        <\/li>\n<li><strong>Beyaz Liste (Whitelist) IP Adresleri:<\/strong> ngrok'un \u00fccretli planlar\u0131, t\u00fcnele eri\u015febilecek belirli IP adreslerini veya IP aral\u0131klar\u0131n\u0131 beyaz listeye alman\u0131za olanak tan\u0131r. Sadece belirli IP'lerden gelen isteklere izin vererek, t\u00fcnelinizin eri\u015fimini daha da k\u0131s\u0131tlayabilir ve g\u00fcvenli\u011fi art\u0131rabilirsiniz.<\/li>\n<li><strong>Hassas Bilgileri A\u00e7\u0131\u011fa \u00c7\u0131karmay\u0131n:<\/strong> Geli\u015ftirme ortam\u0131n\u0131zda asla canl\u0131 API anahtarlar\u0131, \u00fcretim veritaban\u0131 kimlik bilgileri veya di\u011fer kritik hassas verileri ngrok t\u00fcneli \u00fczerinden eri\u015filebilir hale getirmeyin. Test i\u00e7in her zaman sahte veya anonimle\u015ftirilmi\u015f veriler kullanmay\u0131 tercih edin.<\/li>\n<li><strong>T\u00fcnelleri S\u00fcrekli A\u00e7\u0131k B\u0131rakmay\u0131n:<\/strong> \u0130\u015finiz bitti\u011finde veya demo sona erdi\u011finde ngrok t\u00fcnellerini kapat\u0131n (<code>Ctrl+C<\/code>). S\u00fcrekli a\u00e7\u0131k kalan t\u00fcneller, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131na davetiye \u00e7\u0131karabilir ve istenmeyen eri\u015fim riskini art\u0131r\u0131r.<\/li>\n<li><strong>ngrok Web Aray\u00fcz\u00fcn\u00fc \u0130zleyin:<\/strong> ngrok'un size sa\u011flad\u0131\u011f\u0131 yerel web aray\u00fcz\u00fcn\u00fc (<code class=\"language-bash\">http:\/\/127.0.0.1:4040<\/code>) d\u00fczenli olarak kontrol ederek t\u00fcnelinizden ge\u00e7en istekleri, yan\u0131tlar\u0131 ve olas\u0131 \u015f\u00fcpheli aktiviteyi izleyebilirsiniz. Bu aray\u00fcz, g\u00fcvenlik olaylar\u0131n\u0131 erken a\u015famada tespit etmek i\u00e7in de\u011ferli bilgiler sunar.<\/li>\n<\/ol>\n<h3>Mobil Uyumluluk Testlerinde ngrok'un Rol\u00fc ve Media Query \u00d6rne\u011fi<\/h3>\n<p>Modern web geli\u015ftirmenin en kritik unsurlar\u0131ndan biri, uygulamalar\u0131n farkl\u0131 ekran boyutlar\u0131na ve cihazlara uyumlu olmas\u0131, yani responsive tasar\u0131m prensiplerine uymas\u0131d\u0131r. ngrok, yerel olarak geli\u015ftirdi\u011finiz web sitelerini veya uygulamalar\u0131, ger\u00e7ek mobil cihazlar \u00fczerinde test etmenizi inan\u0131lmaz derecede kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Yerel web uygulaman\u0131z\u0131 ngrok ile d\u0131\u015fa a\u00e7t\u0131ktan sonra (\u00f6rne\u011fin <code class=\"language-bash\">ngrok http 80<\/code>), olu\u015fturulan genel URL'yi (\u00f6rne\u011fin <code class=\"language-bash\">https:\/\/mobiltest.ngrok.io<\/code>) mobil cihaz\u0131n\u0131z\u0131n taray\u0131c\u0131s\u0131na girmeniz yeterlidir. Bu sayede, uygulaman\u0131z\u0131n farkl\u0131 ekran boyutlar\u0131nda, dokunmatik etkile\u015fimlerde ve mobil a\u011f ko\u015fullar\u0131nda nas\u0131l davrand\u0131\u011f\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6zlemleyebilirsiniz. Bu y\u00f6ntem, em\u00fclat\u00f6rlerin veya geli\u015ftirici ara\u00e7lar\u0131n\u0131n s\u0131n\u0131rlamalar\u0131n\u0131 a\u015farak, kullan\u0131c\u0131lar\u0131n uygulaman\u0131z\u0131 ger\u00e7ek d\u00fcnya ko\u015fullar\u0131nda nas\u0131l deneyimledi\u011fine dair en do\u011fru geri bildirimi alman\u0131z\u0131 sa\u011flar.<\/p>\n<p>HTML ve CSS'te mobil uyumluluk i\u00e7in genellikle <code>@media<\/code> sorgular\u0131 kullan\u0131l\u0131r. ngrok, bu sorgular\u0131n ger\u00e7ek cihazlarda nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rmenizi sa\u011flar. \u00d6rne\u011fin, a\u015fa\u011f\u0131da temel bir medya sorgusu \u00f6rne\u011fi verilmi\u015ftir:<\/p>\n<pre><code class=\"language-css\">\n\/* Genel stil *\/\nbody {\n    font-family: Arial, sans-serif;\n    margin: 20px;\n}\n\n\/* Masa\u00fcst\u00fc ekranlar i\u00e7in stiller *\/\n.container {\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px;\n    background-color: #f0f0f0;\n}\n\n\/* Mobil cihazlar (ekran geni\u015fli\u011fi 768px'den k\u00fc\u00e7\u00fck veya e\u015fit) i\u00e7in stiller *\/\n@media (max-width: 768px) {\n    .container {\n        padding: 10px;\n        background-color: #e0e0e0;\n        border-radius: 5px;\n    }\n    h1 {\n        font-size: 1.8em;\n        color: #333;\n    }\n    p {\n        font-size: 0.9em;\n        line-height: 1.6;\n    }\n}\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu t\u00fcr responsive tasar\u0131mlar\u0131, ngrok ile d\u0131\u015fa a\u00e7t\u0131\u011f\u0131n\u0131z yerel sunucunuz \u00fczerinden ger\u00e7ek mobil cihazlarda test etmek, geli\u015ftirme a\u015famas\u0131nda g\u00f6rsel hatalar\u0131 veya kullan\u0131c\u0131 deneyimi sorunlar\u0131n\u0131 h\u0131zla tespit etmenizi ve \u00e7\u00f6zmenizi sa\u011flar. B\u00f6ylece, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n t\u00fcm cihazlarda tutarl\u0131 ve keyifli bir deneyim ya\u015famas\u0131n\u0131 garanti alt\u0131na alabilirsiniz.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: ngrok t\u00fcneli \u00fczerinden mobil cihaz\u0131n\u0131zda test yaparken, cihaz\u0131n taray\u0131c\u0131s\u0131n\u0131n \u00f6nbelle\u011fini (cache) d\u00fczenli olarak temizlemeyi unutmay\u0131n. Bu, uygulaman\u0131zda yapt\u0131\u011f\u0131n\u0131z en son de\u011fi\u015fikliklerin do\u011fru \u015fekilde yans\u0131d\u0131\u011f\u0131ndan ve eski \u00f6nbelle\u011fe al\u0131nm\u0131\u015f i\u00e7eriklerin sorunlara yol a\u00e7mad\u0131\u011f\u0131ndan emin olman\u0131z\u0131 sa\u011flar.\n    <\/div>\n<p>ngrok, geli\u015ftirme s\u00fcre\u00e7lerinizin her a\u015famas\u0131nda size destek olan \u00e7ok y\u00f6nl\u00fc bir ara\u00e7t\u0131r. Do\u011fru kullan\u0131ld\u0131\u011f\u0131nda, hem verimlili\u011finizi art\u0131r\u0131r hem de geli\u015ftirme ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini koruman\u0131za yard\u0131mc\u0131 olur, ayn\u0131 zamanda mobil uyumluluk gibi modern gereksinimleri de kolayca kar\u015f\u0131laman\u0131z\u0131 sa\u011flar.<\/p>\n<h2>ngrok ile Yerel Geli\u015ftirme Deneyiminizi Y\u00fckseltin: Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, ngrok'un ne oldu\u011fundan, nas\u0131l kurulup temel bir t\u00fcnelin nas\u0131l a\u00e7\u0131laca\u011f\u0131na, ileri d\u00fczey \u00f6zelliklerinden ger\u00e7ek d\u00fcnya senaryolar\u0131na ve hatta performans ile g\u00fcvenlik ipu\u00e7lar\u0131na kadar bir\u00e7ok konuyu derinlemesine inceledik. ngrok'un, yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131 d\u0131\u015f d\u00fcnyaya a\u00e7ma s\u00fcrecini ne kadar basitle\u015ftirdi\u011fini ve modern geli\u015ftirme i\u015f ak\u0131\u015flar\u0131 i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline geldi\u011fini umar\u0131z a\u00e7\u0131k\u00e7a g\u00f6rm\u00fc\u015fs\u00fcn\u00fczd\u00fcr.<\/p>\n<p>Yerel sunucular\u0131n\u0131z\u0131 g\u00fcvenli ve h\u0131zl\u0131 bir \u015fekilde internete a\u00e7abilme yetene\u011fi, web kancalar\u0131n\u0131 test etmekten, mobil uygulama API'lerini geli\u015ftirmeye, uzaktan m\u00fc\u015fteri demolar\u0131 yapmaktan ekip i\u00e7inde i\u015fbirli\u011fini kolayla\u015ft\u0131rmaya kadar bir\u00e7ok alanda geli\u015ftiricilere b\u00fcy\u00fck avantajlar sunar. Art\u0131k karma\u015f\u0131k a\u011f yap\u0131land\u0131rmalar\u0131yla u\u011fra\u015fman\u0131za veya her de\u011fi\u015fiklik i\u00e7in canl\u0131 bir test ortam\u0131na da\u011f\u0131t\u0131m yapman\u0131za gerek kalmad\u0131. ngrok, bu engelleri ortadan kald\u0131rarak size daha fazla zaman kazand\u0131r\u0131r ve geli\u015ftirme s\u00fcrecinize odaklanman\u0131z\u0131 sa\u011flar, b\u00f6ylece daha yenilik\u00e7i ve kaliteli \u00fcr\u00fcnler ortaya koyabilirsiniz.<\/p>\n<p>ngrok, basit aray\u00fcz\u00fc ve g\u00fc\u00e7l\u00fc yetenekleriyle hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in g\u00fc\u00e7l\u00fc bir m\u00fcttefiktir. Unutmay\u0131n, do\u011fru yap\u0131land\u0131rma ve g\u00fcvenlik pratikleriyle ngrok, geli\u015ftirme yolculu\u011funuzda size b\u00fcy\u00fck kolayl\u0131klar sunacakt\u0131r. Bu rehberde edindi\u011finiz bilgilerle, ngrok'u kendi projelerinizde deneyerek, bu g\u00fc\u00e7l\u00fc arac\u0131n t\u00fcm potansiyelini ke\u015ffedin ve geli\u015ftirme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131y\u0131n. Uygulamalar\u0131n\u0131z\u0131 d\u00fcnyaya a\u00e7mak hi\u00e7 bu kadar kolay olmam\u0131\u015ft\u0131!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt>ngrok \u00fccretsiz mi?<\/dt>\n<dd>Evet, ngrok'un \u00fccretsiz bir plan\u0131 bulunmaktad\u0131r. Bu plan, rastgele alt alan adlar\u0131 ile tek bir e\u015fzamanl\u0131 t\u00fcnel a\u00e7man\u0131za olanak tan\u0131r ve \u00e7o\u011fu temel geli\u015ftirme ihtiyac\u0131n\u0131 kar\u015f\u0131lar. \u00dccretli planlar ise \u00f6zel alan adlar\u0131, birden fazla e\u015fzamanl\u0131 t\u00fcnel, IP beyaz listeleme, daha fazla bant geni\u015fli\u011fi ve daha geli\u015fmi\u015f kontrol paneli \u00f6zellikleri sunar.<\/dd>\n<dt>ngrok g\u00fcvenli mi?<\/dt>\n<dd>ngrok, varsay\u0131lan olarak t\u00fcnel trafi\u011fini \u015fifreler (HTTPS veya TLS). Ancak, yerel sunucunuzu internete a\u00e7arken her zaman dikkatli olmal\u0131s\u0131n\u0131z. T\u00fcnelinizin g\u00fcvenli\u011fini art\u0131rmak i\u00e7in temel kimlik do\u011frulama kullanmak, hassas bilgileri a\u00e7\u0131\u011fa \u00e7\u0131karmamak ve i\u015finiz bitti\u011finde t\u00fcneli kapatmak gibi g\u00fcvenlik ipu\u00e7lar\u0131n\u0131 uygulaman\u0131z hayati \u00f6nem ta\u015f\u0131r. ngrok g\u00fcvenli bir t\u00fcnel sa\u011flasa da, t\u00fcnelin ucundaki uygulaman\u0131z\u0131n g\u00fcvenli\u011fi sizin sorumlulu\u011funuzdad\u0131r.<\/dd>\n<dt>ngrok t\u00fcneli ne kadar s\u00fcreyle aktif kal\u0131r?<\/dt>\n<dd>ngrok t\u00fcneli, komut sat\u0131r\u0131 penceresi a\u00e7\u0131k kald\u0131\u011f\u0131 s\u00fcrece veya sunucunuz yeniden ba\u015flat\u0131lana kadar aktif kal\u0131r. \u00dccretsiz planda, her t\u00fcnel yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda yeni ve rastgele bir URL al\u0131rs\u0131n\u0131z. \u00dccretli planlarda ise, \u00f6nceden yap\u0131land\u0131r\u0131lm\u0131\u015f ve kal\u0131c\u0131 (fixed) alt alan adlar\u0131 kullanarak t\u00fcnel yeniden ba\u015flat\u0131lsa bile ayn\u0131 URL'nin kullan\u0131lmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/dd>\n<dt>ngrok'u arka planda \u00e7al\u0131\u015ft\u0131rmak m\u00fcmk\u00fcn m\u00fcd\u00fcr?<\/dt>\n<dd>Evet, ngrok'u arka planda \u00e7al\u0131\u015ft\u0131rmak m\u00fcmk\u00fcnd\u00fcr. Linux ve macOS sistemlerinde <code class=\"language-bash\">nohup<\/code> veya <code class=\"language-bash\">screen<\/code>\/<code class=\"language-bash\">tmux<\/code> gibi ara\u00e7larla veya <code class=\"language-bash\">&<\/code> operat\u00f6r\u00fcyle (\u00f6rne\u011fin: <code class=\"language-bash\">nohup ngrok http 3000 &<\/code>) arka planda \u00e7al\u0131\u015ft\u0131rabilirsiniz. Windows'ta ise, bir hizmet olarak \u00e7al\u0131\u015ft\u0131rmak veya G\u00f6rev Zamanlay\u0131c\u0131 (Task Scheduler) ile yap\u0131land\u0131rmak daha karma\u015f\u0131k olabilir. En pratik y\u00f6ntem, ngrok'u bir yap\u0131land\u0131rma dosyas\u0131 (<code class=\"language-bash\">ngrok.yml<\/code>) ile tan\u0131mlay\u0131p, <code class=\"language-bash\">ngrok start --all<\/code> komutuyla ba\u015flatmak ve sonra terminali kapatmakt\u0131r. Bu, \u00f6zellikle \u00fccretli planlarda s\u00fcrekli t\u00fcneller i\u00e7in idealdir.<\/dd>\n<dt>ngrok ile mobil uygulamalar\u0131 test edebilir miyim?<\/dt>\n<dd>Kesinlikle! ngrok, yerel olarak geli\u015ftirdi\u011finiz API'leri veya web uygulamalar\u0131n\u0131 mobil cihazlar\u0131n\u0131zdan veya em\u00fclat\u00f6rlerinizden eri\u015filebilir k\u0131lar. ngrok taraf\u0131ndan sa\u011flanan genel URL'yi mobil cihaz\u0131n\u0131z\u0131n taray\u0131c\u0131s\u0131na girerek veya mobil uygulaman\u0131z\u0131n API URL'sini g\u00fcncelleyerek, uygulaman\u0131z\u0131n ger\u00e7ek cihazlarda farkl\u0131 ekran boyutlar\u0131, a\u011f ko\u015fullar\u0131 ve dokunmatik etkile\u015fimlerle nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kolayca test edebilirsiniz. Bu, responsive tasar\u0131m testleri i\u00e7in paha bi\u00e7ilmez bir y\u00f6ntemdir.<\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-32461","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n<\/title>\n<meta name=\"description\" content=\"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok&#039;un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n\" \/>\n<meta property=\"og:description\" content=\"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok&#039;un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-22T00:02:14+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n\",\"datePublished\":\"2025-10-22T00:02:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\"},\"wordCount\":5405,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\",\"name\":\"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-22T00:02:14+00:00\",\"description\":\"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok'un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n","description":"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok'un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/","og_locale":"tr_TR","og_type":"article","og_title":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n","og_description":"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok'un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-22T00:02:14+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"12 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n","datePublished":"2025-10-22T00:02:14+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/"},"wordCount":5405,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/","url":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/","name":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-22T00:02:14+00:00","description":"Yerel geli\u015ftirme ortam\u0131n\u0131zdaki uygulamalar\u0131, internet \u00fczerinden eri\u015filebilir hale getirmenin karma\u015f\u0131k yollar\u0131n\u0131 bir kenara b\u0131rak\u0131n. ngrok, bu s\u00fcreci inan\u0131lmaz derecede basitle\u015ftiren g\u00fc\u00e7l\u00fc bir t\u00fcnelleme arac\u0131d\u0131r. Bu kapsaml\u0131 rehberde, ngrok'un ne oldu\u011fundan temel kurulum ad\u0131mlar\u0131na, ileri d\u00fczey kullan\u0131m senaryolar\u0131ndan ger\u00e7ek d\u00fcnya uygulamalar\u0131na kadar her \u015feyi ke\u015ffedecek, yerel sunucular\u0131n\u0131z\u0131 saniyeler i\u00e7inde d\u0131\u015f d\u00fcnyaya g\u00fcvenle a\u00e7may\u0131 \u00f6\u011freneceksiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ngrok-ultimate-rehber-yerel-sunuculari-kolayca-disa-acin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ngrok Ultimate Rehber: Yerel Sunucular\u0131 Kolayca D\u0131\u015fa A\u00e7\u0131n"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=32461"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32461\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}