पर एक कुकी आधारित सत्र को जारी रखना मेरे पास एक साधारण एक्सप्रेस आधारित Node.js वेब सर्वर है जिसका उपयोग मैं जावास्क्रिप्ट एप्लिकेशन के विकास के लिए कर रहा हूं। मैंने सर्वर को प्रॉक्सी एपीआई अनुरोधों के लिए नोड-एचटीएमएल-प्रॉक्सी का उपयोग करने के लिए सेट अप किया है, एप्लिकेशन एक जेटी सर्वर को बनाता है जो एक अलग डोमेन और पोर्ट पर चल रहा है। जब तक मैं सत्र प्रबंधन के साथ समस्याओं में भागना शुरू नहीं करता तब तक यह सेटअप बेकार ढंग से काम कर रहा है।नोड-http-proxy
प्रमाणीकरण पर एप्लिकेशन सर्वर सर्वर सत्र का प्रतिनिधित्व करने वाले ऑथ टोकन के साथ एक कुकी देता है। जब मैं अपने फाइल सिस्टम से फ़ाइल जेएस एप्लिकेशन चलाता हूं (फ़ाइल: //) मैं देख सकता हूं कि क्लाइंट को कुकी प्राप्त होने के बाद, यह बाद के सभी एपीआई अनुरोधों में भेजा जाता है। जब मैं नोड सर्वर पर जेएस ऐप चलाता हूं और एपीआई कॉल नोड-एचटीएमएल-प्रॉक्सी (रूटिंगिंग प्रॉक्सी) के माध्यम से प्रॉक्सी किया जाता है तो अनुरोध हेडर में कुकी शामिल नहीं होती है।
क्या मुझे प्रॉक्सी के माध्यम से इस प्रकार के सत्र दृढ़ता का समर्थन करने के लिए मैन्युअल रूप से संभालने की आवश्यकता है? मैं नोड-http-प्रॉक्सी कोड के माध्यम से खुदाई कर रहा हूं लेकिन यह मेरे सिर पर थोड़ा सा है क्योंकि मैं नोड में नया हूं।
https://gist.github.com/2475547 या:
var express = require('express'),
routingProxy = require('http-proxy').RoutingProxy(),
app = express.createServer();
var apiVersion = 1.0,
apiHost = my.host.com,
apiPort = 8080;
function apiProxy(pattern, host, port) {
return function(req, res, next) {
if (req.url.match(pattern)) {
routingProxy.proxyRequest(req, res, {host: host, port: port});
} else {
next();
}
}
}
app.configure(function() {
// API proxy middleware
app.use(apiProxy(new RegExp('\/' + apiVersion + '\/.*'), apiHost, apiPort));
// Static content middleware
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(express.static(__dirname));
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
app.use(app.router);
});
app.listen(3000);
मैंने वेब इंस्पेक्टर में पुष्टि की है कि क्लाइंट 'सेट-कुकी' हेडर प्राप्त करता है। आप लेनदेन देख सकते हैं [यहां] (http://i.imgur.com/VQV0a.png)।इस मामले में अनुरोध कुकी एक्सप्रेस के कुकी पार्सर द्वारा उत्पन्न की जा रही है जिसे मैं सत्र का समर्थन करने के लिए उपयोग करने का प्रयास कर रहा था लेकिन ऐसा लगता है कि यह हमेशा अपनी चीज करता है। – tomswift
गिटहब में एक मुद्दा खोल दिया क्योंकि मैं प्रॉक्सी सर्वर की प्रतिक्रिया से कुकी को प्राप्त करने और प्राप्त करने के लिए संघर्ष करता हूं और मैन्युअल रूप से सत्र का समर्थन करता हूं: https://github.com/nodejitsu/node-http-proxy/issues/236 – tomswift