Ngrok Kullanarak İnternetteki Yerel Web Sitelerini veya Uygulamaları Test Etme


Bir web sitesi veya mobil uygulama geliştiricisi misiniz ve test amacıyla bir NAT veya güvenlik duvarı arkasındaki localhost sunucunuzu genel İnternet'e açmak mı istiyorsunuz? Bu eğitimde bunu ngrok kullanarak güvenli bir şekilde nasıl yapacağınızı açıklayacağız.

Ngrok, NAT'ların ve güvenlik duvarlarının arkasındaki yerel sunucuları güvenli tüneller üzerinden genel İnternet'e açmak için kullanılan sansasyonel, ücretsiz bir açık kaynak ve platformlar arası ters proxy sunucusudur. Kişisel bulut hizmetlerini doğrudan evden uygulamak için kullanabileceğiniz dikkat çekici bir bilgisayar programıdır.

Temel olarak localhost'unuza güvenli tüneller kurar ve böylece şunları yapmanızı sağlar: gerçek dağıtımdan önce web sitelerinin demolarını çalıştırma, yerel olarak çalışan arka ucunuza bağlı mobil uygulamaları test etme ve geliştirme makinenizde web kancası tüketicileri oluşturma.

Ngrok'un Özellikleri:

  • Herhangi bir büyük platform için sıfır çalışma süresi bağımlılığıyla kolay kurulum ve hızlı çalışır.
  • Güvenli tünelleri destekler.
  • Daha sonra incelemek ve tekrar oynatmak için tünel üzerindeki tüm trafiği yakalar ve analiz eder.
  • Yönlendiricinizde bağlantı noktası yönlendirmeyi ortadan kaldırmanıza olanak tanır.
  • HTTP kimlik doğrulamasının (şifre koruması) uygulanmasını sağlar.
  • SSH gibi HTTP kullanmayan ağ bağlantılı hizmetleri açığa çıkarmak için TCP tünellerini kullanır.
  • SSL/TLS sertifikalarıyla yalnızca HTTP veya HTTPS tünellemeyi destekler.
  • Birden fazla eşzamanlı tüneli destekler.
  • Webhook isteklerinin yeniden oynatılmasına izin verir.
  • Sanal ana bilgisayar siteleriyle çalışmanıza olanak tanır.
  • Bir API ve ücretli plandaki birçok seçenek aracılığıyla otomatikleştirilebilir.

Kullanmadan önce bir web sunucusunun kurulu olması veya işlevsel bir LAMP veya LEMP yığını oluşturmayı düşünmeniz gerekir; aksi takdirde aşağıdaki kılavuzları takip ederek şunları yapabilirsiniz:

LAMP Stack'i Linux'a yükleyin:

  1. LAMP'ı (Linux, Apache, MariaDB, PHP/PhpMyAdmin) RHEL/CentOS 7.0'a yükleme
  2. LAMP'ı PHP 7 ve MariaDB 10 ile Ubuntu 16.10'a Yükleme

LEMP Stack'ı Linux'a yükleyin:

  1. Debian 9 Stretch'te LEMP (Linux, Nginx, MariaDB, PHP-FPM) Nasıl Kurulur
  2. 16.10/16.04'te Nginx, MariaDB 10, PHP 7 (LEMP Yığını) Nasıl Kurulur
  3. En Son Nginx, MariaDB ve PHP'yi RHEL/CentOS 7/6 ve Fedora 20-26'ya yükleyin

Linux'ta Ngrok Nasıl Kurulur

Ngrok'un kurulumu son derece kolaydır; tek bir ikili dosya içeren arşiv dosyasını indirip açmak için aşağıdaki komutları çalıştırmanız yeterlidir.

mkdir ngrok
cd ngrok/
wget -c https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
ls

İkili dosyayı aldıktan sonra, web sunucusuna gönderilen istekleri test etmek için web sunucusunun (Apache) varsayılan belge kökünde temel bir index.html sayfası oluşturalım.

sudo vi /var/www/html/index.html

Aşağıdaki HTML içeriğini dosyaya ekleyin.

<!DOCTYPE html>
<html>
        <body>
                <h1>This is a TecMint.com Dummy Site</h1>
                <p>We are testing Ngrok reverse proxy server.</p>
        </body>
</html>

Dosyayı kaydedin ve 80 http bağlantı noktasını belirterek ngrok'u başlatın (web sunucunuzu başka bir bağlantı noktasını dinleyecek şekilde yapılandırdıysanız, o bağlantı noktasını kullanmanız gerekir):

ngrok http 80

Başladıktan sonra terminalinizde aşağıdakine benzer bir çıktı görmelisiniz.

Ngrok Kullanıcı Arayüzünü Kullanarak Web Sunucunuza Gelen Trafiği Nasıl Denetleyebilirsiniz?

Ngrok, tünellerinizden geçen tüm HTTP trafiğini gerçek zamanlı olarak incelemeniz için basit bir web kullanıcı arayüzü sunar.

http://localhost:4040 

Yukarıdaki çıktıya göre henüz sunucuya herhangi bir istek yapılmamıştır. Başlamak için aşağıdaki URL'leri kullanarak tünelinizden birine istekte bulunun. Diğer kullanıcılar da sitenize veya uygulamanıza erişmek için bu adresleri kullanacaktır.

http://9ea3e0eb.ngrok.io 
OR
https://9ea3e0eb.ngrok.io 

Ardından zaman, istemci IP adresi, süre, başlıklar, istek URI'si, istek yükü ve ham veriler dahil olmak üzere istek ve yanıtın tüm ayrıntılarını almak için inceleme kullanıcı arayüzünden kontrol edin.

Daha fazla bilgi için Ngrok Ana Sayfasına bakın: https://ngrok.com/

Ngrok tek kelimeyle muhteşem bir araçtır; orada bulacağınız açık ara en basit ama güçlü, güvenli yerel tünel çözümüdür. Daha fazla bant genişliği elde etmek için ücretsiz bir ngrok hesabı oluşturmayı düşünmelisiniz, ancak daha da gelişmiş özellikler istiyorsanız ücretli bir hesaba yükseltmeyi deneyin. Bu yazılım hakkındaki düşüncelerinizi aşağıdaki yorum formunu kullanarak bizimle paylaşmayı unutmayın.