2013-10-31 2 views
21

क्या प्रत्येक सेवा php/html/etc के लिए स्क्रिप्ट आदि की कुछ पंक्तियों को इंजेक्ट करने का कोई तरीका है। पृष्ठ? उदाहरण के लिए कुछ कस्टम जावास्क्रिप्ट -टैग के बाद?Nginx के माध्यम से कस्टम सामग्री इंजेक्षन कैसे करें?

मुझे पता है, आप nginx में lua का उपयोग करने में सक्षम होना चाहिए, लेकिन क्या कोई बेहतर समाधान है?

मैं nginx के पीछे कई अलग-अलग वेब अनुप्रयोग चला रहा हूं, इसलिए ऐसा करने का उचित तरीका लगता है। मेरे पास प्रत्येक एप्लिकेशन के लिए एक्सेस सोर्स कोड नहीं है और उनको बनाए रखना बोझिल होगा।

उत्तर

25

मैं जिस तरह से यह करने के लिए मिल गया: http://nginx.org/en/docs/http/ngx_http_sub_module.html

location/{ 
    sub_filter </head> 
     '</head><script language="javascript" src="$script"></script>'; 
    sub_filter_once on; 
} 
+1

IndexHeadInsert अपाचे में प्रयोग किया जाता है मैं nginx में एक ऐसी ही आदेश – TheBlackBenzKid

+2

त्वरित टिप्पणी, इस मॉड्यूल डिफ़ॉल्ट रूप से नहीं ले सकता रहा हूँ (लिंक किए गए लेख राज्यों के रूप में) तो आपके इंस्टॉल में यह नहीं हो सकता है। आप देख सकते हैं कि आपके पास यह है: 'nginx -V' जो" सभी कॉन्फ़िगर किए गए मॉड्यूल सूचीबद्ध करेगा "([स्रोत] (http://serverfault.com/a/223526/138913)) और' --with -http_sub_module'। – JoshStrange

+5

यदि सामग्री * gzipped * प्रतिस्थापन काम नहीं करेगा। इसके लिए, 'proxy_set_header स्वीकृति-एन्कोडिंग "जोड़ें;", जो बैकएंड को बताता है कि प्रतिक्रिया में संपीड़न की अनुमति नहीं है। – acdcjunior

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