2012-07-06 12 views
6

पर एक रिवर्स प्रॉक्सी जोड़ें मेरे पास हैरोक पर चल रहा एक रेल ऐप है, जैसे myapp.herokuapp.com।उसकेोकू

अब मैं somewhereelse.com/ को myapp.heroku.com/proxy/ से प्रॉक्सी रिवर्स करना चाहते हैं (यानी: myapp.heroku.com/proxy/stuff रिवर्स somewhereelse.com/stuff को proxifed है) Heroku पर कि संभव है? इसे कैसे प्राप्त करें?

उत्तर

6

किसी भी व्यक्ति को खोज के माध्यम से इस प्रश्न पर आने के लिए, यह किया जा सकता है।

अपने heroku उदाहरण में विक्रेता nginx करने के लिए https://github.com/ryandotsmith/nginx-buildpack देखें। यह आपके रेल ऐप के सामने nginx रखेगा, और आपको इस डोमेन पर प्रॉक्सी अनुरोधों को रिवर्स करने की अनुमति देगा, जिसमें आपका हेरोकू ऐप शीर्ष के रूप में कॉन्फ़िगर किया गया है और कहीं और कहीं भी है।

+0

धन्यवाद। Heroku का उपयोग करने के लिए बहुत अच्छा तरीका है। –

0

आपके पास फ्रंटेंड रूटिंग इंफ्रास्ट्रक्चर तक पहुंच नहीं है, इसलिए यह nginx स्थान आधारित रिवर्स प्रॉक्सीइंग या अपाचे के मॉडप्रॉक्सी जैसी कुछ जोड़ने के लिए संभव नहीं है। मेरी समझ से भी आप डायना के भीतर केवल एक बंदरगाह ($ पोर्ट) से जुड़ सकते हैं, इसलिए अपने रेल ऐप को nginx के अपने स्वयं के संस्करण के साथ छाया करना संभव नहीं है (जब तक कि एक गैर टीसीपी/आईपी सॉकेट के बीच संवाद करना संभव न हो nginx और आपकी रैक/रेल ऐप, अगर ऐसा है तो शायद आप इस पर प्रॉक्सी को रिवर्स करने के लिए /tmp/mysocket.git और nginx को सुनने के लिए रैक प्राप्त कर सकते हैं, हालांकि यह कोई स्टार्टर नहीं हो सकता है, मैं सिर्फ विचारों को फेंक रहा हूं) ।

जिसका मतलब है कि आपको अपने रेल ऐप में इसे स्वयं संभालना है, तो मेरे पास केवल एक छोटे से छोटे रेल/रूबी अनुभव हैं, लेकिन यदि रेल में कोई प्रॉक्सी कार्यक्षमता मौजूद नहीं है तो शायद आप स्पष्ट रूप से स्वीकार कर सकते हैं मार्ग और फिर अन्य भागों का आह्वान करने के लिए एक http क्लाइंट का उपयोग करें।

संबंधित मुद्दे