डिफ़ॉल्ट nginx.conf को बदले बिना डिफ़ॉल्ट nginx http कॉन्फ़िगरेशन को ओवरराइड करें


14

मेरा इरादा : मैं /etc/nginx/nginx.conf(डेबियन 8 में) परिभाषित डिफ़ॉल्ट कॉन्फ़िगरेशन को ओवरराइड करना चाहूंगा । विचार यह है कि भविष्य के सिस्टम अपडेट को आसान बनाने के लिए इस फ़ाइल को पूरी तरह से अछूता रखा जाए और उन विकल्पों के लिए नवीनतम परिवर्तन प्राप्त करने में सक्षम हो, जिन्हें मैंने ओवरराइड नहीं किया था।

मैंने क्या किया : मैंने /etc/nginx/conf.d/उसी तरह से एक कस्टम कॉन्फ़िगरेशन बनाया जैसे मैंने कई अन्य डेबियन सेवाओं के लिए किया था।

समस्या : हालाँकि, कुछ कॉन्फ़िगरेशन को ओवरराइड करना असंभव लगता है, क्योंकि मुझे "X" निर्देश प्राप्त होता है डुप्लिकेट त्रुटि। Nginx कॉन्फ़िगरेशन का समर्थन करने के लिए नहीं लगता है उसी तरह से अन्य सेवाएं करता है।

प्रश्न : क्या डुप्लिकेट त्रुटि होने के बिना nginx http संदर्भ में ओवरराइड और नया विकल्प जोड़ने का कोई तरीका है ? या क्या मुझे पूरी तरह से इस विचार को छोड़ देना चाहिए और क्रोध को खत्म करना चाहिए ?nginx.conf

आपकी मदद के लिए बहुत धन्यवाद।

यह इसी तरह का सवाल वास्तव में मेरी समस्या का समाधान नहीं करता है, क्योंकि मैं डिफ़ॉल्ट रूप से मेरे लिए स्वचालित रूप से सेट किए गए विकल्प nginx से लाभ चाहता हूं (उदाहरण के लिए worker_processes auto;)


1
क्या आप वास्तव में डेबियन का उपयोग कर रहे हैं? उनका नगीन विन्यास अपस्ट्रीम से काफी अलग है, और यह संभव नहीं हो सकता है।
माइकल हैम्पटन

हाँ। मेरे पास पहले से ही डेबियन पर कई प्रोडक्शन सर्वर चल रहे हैं और यह केवल Apache2 को nginx में बदलने के बारे में है। इसलिए, जो आप मुझे बता रहे हैं, वह यह है कि अन्य वितरण में, जो मैंने कोशिश की वह काम कर सकता है? क्या ऐसा मौका है कि यह भविष्य में डेबियन के साथ काम करेगा?
गुई-डॉन

यह निश्चित रूप से संभव है कि डेबियन भविष्य में एक अधिक समझदार नाज़िन विन्यास को जहाज करेगा। आप भी सिर्फ अपना बना सकते हैं।
माइकल हैम्पटन

जवाबों:


2

या क्या मुझे पूरी तरह से विचार को त्याग देना चाहिए और nginx.conf को तोड़ देना चाहिए?

हाँ तुम्हें करना चाहिए।

एकमात्र परिवर्तन जो कभी पैकेज मेंटेनर्स द्वारा किया जाता है, वे हैं

  • मापदंडों के लिए अधिक समझदार चूक आपको अपने आप को वैसे भी समय से पहले स्थापित करना चाहिए
  • #-प्रमाणित उदाहरण जो आपकी कार्रवाई के बिना वैसे भी उपयोग नहीं किए जाएंगे

अतीत में, केवल महत्वपूर्ण परिवर्तन थे ssl_protocols, ssl_prefer_server_ciphersऔर worker_processes। आपको उन पैकेजों को ओवरराइड करना चाहिए, जैसे कि उन्हें डिबेट पैकेज में सेट करने से पहले पैकेज रिटेनर्स के लिए एक उचित चीज़ की तरह लग रहा था।

अतीत में, एकमात्र वास्तविक शमन जिसे सिस्टम-वाइड nginx.conf के साथ भेज दिया जा सकता था, max_ranges 1;CVE-2017-7529 के लिए जोड़कर किसी भी वितरण के द्वारा मुझे नहीं भेजा गया था, उन्होंने अधिकांश प्रशंसा से पहले ही भेद्यता के लिए फिक्स जारी कर दिया। शमन लागू किया।

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

जब तक आपका बैकअप सिस्टम ठीक से काम करता है, तब तक इसकी संभावना अभी भी कॉन्‍फ़िगर को रखने के लिए एक अच्छा विचार है, ताकि apt आपको इंटरेक्टिव अपडेट के दौरान पूछेगा कि कॉन्‍फ़िगर फ़ाइल में अनुरक्षक परिवर्तन पर कैसे कार्य करें।


आप यह कैसे पता लगाते हैं कि विभिन्न रिलीज़ के बीच क्या परिवर्तन लागू किए गए थे? आप इस तरह से उपलब्ध पैकेज संस्करणों के सभी (असत्यापित, असुरक्षित डाउनलोड किए गए) की तुलना कर सकते हैं:

(cd "$(mktemp -d)"; rmadison --url=debian nginx-common | awk '{print $3}' | while read a; do curl "http://ftp.debian.org/debian/pool/main/n/nginx/nginx-common_${a}_all.deb" | dpkg -x - x${a}; done; for a in x*/etc/nginx/nginx.conf; do [ -z "$la" ] && la="$a" && continue; diff -wus "$la" "$a";la="$a" ; done; pwd)

इतिहास वास्तव में इस मामले में मूल्यवान जानकारी लाता है, इसलिए इस बहुत अच्छे उत्तर के लिए धन्यवाद। मैं आपकी बात समझता हूं, दुनिया भर में नगनेक्स के महत्व को देखते हुए, यह बहुत ही असंभव है एक महत्वपूर्ण ब्रेकिंग परिवर्तन मेरे HTTP सर्वर के जीवनकाल में होगा।
गुई-डॉन

1
मैं इससे असहमत हूं। जब तक यह संभावना नहीं है कि रखरखाव के परिवर्तनों के कारण समस्याएं होंगी, तो अलग-अलग कॉन्फ़िगरेशन होने से रखरखाव लागत कम करने में मदद मिलेगी और साथ ही बेहतर संरचना और विभिन्न सर्वर के लिए आसान प्रवास की आवश्यकता होगी।
xZero

1
@ xZero क्या आप कह रहे हैं कि फ़ाइल को किसी अन्य स्थान पर कॉपी करने से रखरखाव लागत कम करने में मदद मिलेगी? यदि हां, तो कैसे?
चिंता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.