2009-03-29 19 views
8

मैं बैकएंड पर Grails एप्लिकेशन के सामने एक रिवर्स प्रॉक्सी के रूप में अपाचे से Nginx पर स्विच करने पर कुछ शोध कर रहा हूं। मैं कुछ यूआरएल रीराइटिंग के साथ खेल रहा हूं और मेरे बैक एंड से प्रतिक्रिया भेजने के साथ एक समस्या में भाग गया हूं। मैं स्थान शीर्षलेख को फिर से लिख सकता हूं लेकिन मैं सोच रहा हूं कि वास्तव में सामग्री को संसाधित करने का सबसे अच्छा तरीका लिंक और ऐसे के लिए है।पोस्ट प्रोसेसिंग की सबसे अच्छी विधि Nginx रिवर्स प्रॉक्सी प्रतिक्रिया

क्या nginx_substitutions_filter पसंदीदा विधि है या क्या कोई अन्य मॉड्यूल है जो लोग प्रतिक्रिया शरीर में सामग्री प्रतिस्थापन करने के लिए उपयोग करते हैं?

मैंने अतिरिक्त अनुरोध शीर्षकों के आधार पर सही सामग्री को प्रस्तुत करने के लिए एक Grails प्लगइन बनाने के बारे में सोचा है, लेकिन अब मैं सोच रहा हूं कि सबसे लचीलापन और ढीला युग्मन के लिए आवेदन के बाहर सबसे अच्छा संभाला जाएगा।

क्या रिवर्स प्रॉक्सी परिदृश्यों के लिए यूआरएल रीराइटिंग/प्रतिक्रिया पोस्ट प्रोसेसिंग करने के लिए सर्वोत्तम प्रथाओं के बारे में कोई लेख हैं?

उत्तर

0

यदि आप केवल शीर्षलेखों को प्रतिस्थापित करना चाहते हैं, तो शीर्षलेख अधिक तृतीय पक्ष मॉड्यूल इसके लिए बहुत अच्छा है। इसके अलावा, Susbstiution मॉड्यूल एकमात्र विकल्प प्रतीत होता है।

लेकिन मैं सुझाव दूंगा कि आप बैकएंड को सही पृष्ठ वापस कर दें। प्रत्येक प्रतिक्रिया को संशोधित करने से संसाधनों का उपयोग होता है और समय लगता है।

2

आप प्रतिक्रिया को पकड़ने के लिए लुआ मॉड्यूल का उपयोग कर सकते हैं और इसे लुआ स्ट्रिंग की तरह कुशल बना सकते हैं। अपर केस को बेवकूफ उदाहरण उत्पादन:

res = ngx.location.capture('/some/path') 
ngx.print(string.upper(res.body)) 

देख http://wiki.nginx.org/HttpLuaModule#ngx.location.capture

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