22 Kasım 2017 Çarşamba

NodeJS Portsuz Çalışma(Reverse Proxy)

Merhabalar arkadaşlar,
Bu yazımda NodeJS geliştirirken karşılaşılan önemli bir sorunun çözümünden bahsetmek istiyorum.

Bildiğiniz üzere NodeJS çalıştırırken bir port belirtiyoruz ve sistem o portu dinleyip gelen istekleri uygulamamıza aktarıyor. Örnek olarak veyselsahin.com.tr domaini altında çalıştırdığım bir node app için 3000 portunu belirtiyorum ve veyselsahin.com.tr:3000 şeklinde çalışıyor sistem. Buraya kadar bir sorun yok. Fakat eğer kullanıcılarımız birçok portu kapalı olan bir ağdan ulaşmaya çalışıyorlar ve o kapalı portlardan biri sizin uygulamanızın portuysa kullanıcınız bağlantıda sorun yaşayacak buna ek olarak facebook platformlarında da url verirken sonu / ile bitmesi gerekiyor urllerin ve bazen portunuzdan kaynaklı olarak o urlyi veremiyorsunuz.

İşte redbird tüm bu sorunları reverse proxy yöntemiyle bizler işin hallediyor ve uygulamamızda port yerine bir path görünüyor.

Lafı çok uzatmadan redbirdin kurulumu için gerekli npm komutunu aşağıya koydum.

npm install redbird

Eğer bu paketi ben sunucumda başka uygulamalarda da kullanacağım her defasında kurmak istemiyorum derseniz şeklinde kurulum yapmanızı tavsiye ederim.

npm install -g redbird

Kurulum başarılı bir şekilde tamamlandıysa hemen aşağıya örnek bir kullanım koydum. SSL dosyalarınızın yerini de belirterek rahatlıkla ssl de aktif edebilirsiniz.

var proxy = require('redbird')({
    port: 80,    hostname: hostName,    ssl: {
        http2: false,        port: 443,        key: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/privkey.pem',        cert: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/cert.pem',        ca: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/fullchain.pem'    }
});


proxy.register("https://" + hostName + "/chatboot", "http://" + hostName + ":3000", {
    port: 80,    hostname: hostName,    ssl: {
        http2: false,        port: 443,        key: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/privkey.pem',        cert: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/cert.pem',        ca: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/fullchain.pem'    }
});
Redbird ile ilgili detaylı bilgi ve kullanımlar için bu adrese gidebilirsiniz.

Mutlu günler.


Share:

1 yorum:

  1. The King Casino and Resort
    The king casino https://septcasino.com/review/merit-casino/ and resort features a modern casino 출장안마 with everything 도레미시디 출장샵 you'd expect from a classic Vegas Strip casino. The febcasino resort features 50000 square feet of Funding: $250 millionDesign: Inspired DesignMasters: Ivan ventureberg.com/ Karaszko

    YanıtlaSil