2011-06-22 28 views
10

के साथ ऐसी कोई ऐप त्रुटि नहीं है। मैं अपने टेस्ट ऐप/एपीआई * * यूआरएल से यातायात पर होस्ट किए गए एपीआई में यातायात को पुनर्निर्देशित करने का प्रयास कर रहा हूं।हेरोकू नोड.जेएस नोड-एचटीएमएल-प्रॉक्सी मॉड्यूल

इसलिए, लोकलहोस्ट/एपीआई/हैलो testapp.heroku.com/hello पर प्रॉक्सी किया जाना चाहिए और प्रतिक्रिया वापस लौटी जानी चाहिए।

पूरी तरह से स्थानीय होस्ट स्थानीय होस्ट करने के लिए पर नोड http-प्रॉक्सी काम करता है का उपयोग करते हुए, लेकिन जब मैं myapp.heroku.com पर इंगित करें, मैं इस त्रुटि मिलती है:

Heroku | No such app 
There is no app configured at that hostname. 
Perhaps the app owner has renamed it, or you mistyped the URL. 

मैं एक महसूस कर रही है यह Heroku के मार्ग प्रणाली है कि है मेरे प्रॉक्सी अनुरोध को झुकाव, और मुझे इसे ठीक करने का कोई तरीका नहीं मिला है। कोई विचार?

उत्तर

15

मैंने कुछ अलग देखा है जब एक अलग डोमेन के लिए अनुरोध प्रॉक्सी कर रहा है। मेरे द्वारा उपयोग किए जाने वाले काम को रिमोट साइट पर डोमेन नाम से मेल खाने के लिए प्रॉक्सी अनुरोध पर होस्ट हेडर को संशोधित करना था। तो आपके मामले में कोड इस तरह दिखेगा:

var http = require('http'), 
    httpProxy = require('http-proxy'); 


var server = httpProxy.createServer(function (req, res, proxy) { 
    req.headers.host = 'myapp.heroku.com'; 
    proxy.proxyRequest(req, res, { 
    port: 80, 
    host: 'myapp.heroku.com' 
    }); 
}).listen(9000); 

मुझे यह जानने में दिलचस्पी होगी कि यह आपके लिए काम करता है या नहीं।

+0

यह बेकार ढंग से काम करता है। हेडर में होस्ट को सेट करना इसे ठीक करता है। किसी कारण से मैंने सोचा कि http-प्रॉक्सी ऐसा कर लेगा। एक गंदे curl हैक का उपयोग करने से मुझे बचाने के लिए धन्यवाद !! धन्यवाद! –

+3

http-proxy एक परिवर्तनऑर्गिन विकल्प का समर्थन करता है जो इसका ख्याल रखता है। https://github.com/nodejitsu/node-http-proxy#http-proxy –

+0

मैंने सचमुच खोज की और एक ही चीज़ की। –