utilizzare node-http modulo proxy per eseguire l'applicazione con il proxy inverso che sta funzionando come previsto, in alcuni casi, l'utente vuole eseguire l'applicazione immediatamente cui lo status di esso in progresso (l'app non è ancora attiva) e può impiegare circa 3-15 secondi fino a quando l'app è attiva e funzionante. in questo utente caso otterrà l'errore dal proxyErrore durante la richiesta di applicazione utente prima di suo fino
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
});
In caso di errore lo stack nel registro è come
- Proxy applicazione
- richiesta proxy
errore- Proxy
In questo caso l'utente eseguirà l'URL dell'app nel browser e per prima cosa riceverà l'errore e dopo alcuni secondi quando aggiorna il browser l'app verrà eseguita correttamente. Qualche suggerimento su come risolvere questo problema?
ho pensato di costruire alcune API che esaminano lo stato proxyRes (come chiamarla ogni 1 sec e vedere se la risposta è 200 e non invia l'errore prima come "controllerà con timeout" e se dopo 10 secondi non non è la risposta forse per inviare l'errore ma non è sicuro come farlo e se il suo buon approccio ... qualche idea? o forse via webSoket ma non sono sicuro di come farlo ...
Questa è l'open source Sto usando https://github.com/nodejitsu/node-http-proxy
non credo che il nodo-proxy può raggiungere dal momento che ne fanno richiesta solo copie di indirizzare e tubi indietro il risultato. e se non c'è risposta dall'obiettivo. rispedisce esattamente lo stato http o il codice irraggiungibile. in questo caso devi costruire la tua funzione proxy che ripete la richiesta fino a quando non riceve il codice di stato corretto come 200 o 30X. Spero che aiuti. – risyasin
@risyasin - Grazie, ma è troppo tardi per cambiarlo :(, qualsiasi altra idea, come posso ripeterlo con codice/eventi JS? –
Se l'utente sta per usare un browser web, quando il proxy fallisce puoi rispondere HTML e lato client JavaScritp con una bellissima GIF animata di "Caricamento" e qualche richiesta asincrona al tuo server ogni 1 o 2 secondi. Metti un contatore nel client e fai in modo che lo script lato client mostri un errore quando pensi che i tentativi siano troppo numerosi. – jlvaquero