11

kullandığım düğüm-http bazı durumlarda kullanıcının hemen uygulamayı çalıştırmak istediğiniz, beklendiği gibi çalıştığını ters proxy ile uygulamayı çalıştırmak için vekil modülü hangi ilerleme bunun durumu (uygulama henüz bitmedi) ve uygulama çalışmaya başlayana kadar yaklaşık 3-15 saniye sürebilir. Bu durumda kullanıcı hata günlüğüne yığın halindehata oluştu önce onun kadar

proxy.web(req, res, { 
    target: 'http://' + hostname + ':' + Port 
    console.log("App------------->Proxy App"); 
}); 

proxy.on('proxyReq', function(proxyReq, req, res, options) { 
    console.log("App------------->Proxy Request"); 
}); 

    proxy.on('error', function (err, req, res) { 
    console.log("App------------->Proxy Error"); 
     res.end('Something went wrong'); 
    }); 

    // Listen for the `proxyRes` event on `proxy`. 
    proxy.on('proxyRes', function (proxyRes, req, res) { 
     console.log("App------------->Proxy Response") 
     var respState = res.statusCode 
    }); 

  1. Vekil uygulaması
  2. Vekil İsteği
  3. Vekil Hata gibidir proxy'den hatayı alacak

Bu durumda, kullanıcı tarayıcıda uygulama URL'sini çalıştırır ve ilk olarak hatayı alır ve tarayıcıyı yeniledikten birkaç saniye sonra uygulama Tamam çalışır. Bu sorunun nasıl çözüleceğine dair herhangi bir öneriniz var mı?

I (gibi her 1 sn diyoruz ve tepki 200 olup olmadığını görmek ve benzeri daha önce hata göndermez "zaman aşımı ile kontrol" proxyRes durumunu incelemek bazı API bina düşündü ve eğer sonra 10 sn orada hata cevap göndermek değil ama nasıl yapmak için emin ve iyi bir yaklaşım varsa ... herhangi bir fikir veya webSoket yoluyla ama nasıl emin değil ...

Bu açık kaynak kodlu https://github.com/nodejitsu/node-http-proxy

+0

Ben sadece kopya isteği hedef ve borular sonucu geri beri düğüm-vekil Bunu başarmak sanmıyorum. ve eğer hedeften cevap yoksa. tam olarak http durumunu veya okunamayan kodu geri gönderir. Bu durumda, 200 veya 30X gibi doğru durum kodunu alana kadar isteği tekrarlayan kendi proxy işlevini oluşturmanız gerekir. Umarım bu yardımcı olur. – risyasin

+0

@risyasin - Teşekkürler ama değiştirmek için çok geç :(, başka bir fikir JS kodu/olayları ile nasıl tekrar edebilirim? –

+0

Kullanıcı bir web tarayıcısı kullanacaksa, proxy başarısız olduğunda HTML'ye yanıt verebilir ve İstemci tarafında JavaScritp güzel bir animasyonlu GIF ile "Yükleme" ve sunucunuza her 1 veya 2 saniyede bazı asyncronus istekleri.Kullanıcıya bir sayaç koyun ve yeniden deneme çok düşündüğünüzde istemci tarafı komut dosyası bir rrror göster. – jlvaquero

cevap