2010-06-08 16 views
45

अब मेरे पास nginx सेटअप है, मुझे अपनी .git निर्देशिकाओं को छिपाने में सक्षम होना चाहिए। मुझे आंखों को रोकने के लिए किस प्रकार की पुनर्लेख की आवश्यकता होगी? और जहां server {} या http {} ब्लॉक में जाना होगा?आप परियोजना परियोजनाओं को कैसे छिपाते हैं?

उत्तर

61
http { 
    server { 
    location ~ /\.git { 
     deny all; 
    } 
    } 
} 

यह location डायरेक्टिव हर उस उप-निर्देशिका के किसी भी .git निर्देशिका में पहुंचने से रोका जाएगा।

नोट: यह स्थान ब्लॉक आपके मुख्य स्थान ब्लॉक से पहले होना चाहिए, ताकि इसका मूल्यांकन पहले किया जा सके।

+0

क्या यह काम करता है यदि '.git' फ़ोल्डर उपनिर्देशिका में है/जैसे फ़ोल्डर/.git /'? – Xeoncross

+2

हां, यह करता है। "स्थान ~" मैचों * नियमित अभिव्यक्ति *, उप-पथ नहीं। – rzab

+0

ध्यान में है कि यह स्थान ब्लॉक ** पहला ** स्थान ब्लॉक होना चाहिए। अन्यथा अन्य ब्लॉक इससे पहले हो सकते हैं। ज्यादातर परिदृश्यों में केवल एक स्थान ब्लॉक संसाधित होता है। – dreamlab

1

यह किसी को http://example.com/.git पर टकराने से रोक देगा, लेकिन यदि आप इस http://example.com/example/.git जैसे उपनिर्देशिका में काम कर रहे हैं तो यह असफल हो जाएगा। आपको वास्तव में आवश्यकता है:

location ~ .*/\.git { 
    deny all; 
} 
+2

मैंने अभी इसका परीक्षण किया और 'स्थान ~/\। {access_log बंद; log_not_found बंद; सभी से इंकार कर दिया; } 'छुपा उपनिर्देशिका तक पहुंच को अवरुद्ध कर देगा। इसलिए मुझे नहीं लगता कि अतिरिक्त '। * आवश्यक है। – chrishiestand

43

छिपी निर्देशिका और फ़ाइलें कभी भी वेब पहुंच योग्य नहीं होनी चाहिए। अपने प्रश्न का सामान्य जवाब है:

location ~ /\. { return 403; } 

यह किसी भी उपनिर्देशिका में .git के लिए उपयोग, .svn, .htaccess और इसी तरह की फाइलों से इनकार करते हैं।

+0

बिल्कुल सवाल नहीं पूछा गया - लेकिन वह वैसे भी सही है :) –

+19

मैं आगे जाऊंगा और कहूंगा कि कोई भी नहीं जानता कि वे मौजूद हैं, अवधि! (इतना नहीं कि उन्हें हमेशा उन तक पहुंच से इंकार कर दिया जाना चाहिए)। इस प्रकार, आपका उत्तर 'रिटर्न 403' से बदलता है, '404 लौटाता है; '... इस तरह, जिस व्यक्ति को इसका उपयोग करने का प्रयास करने वाला व्यक्ति यह नहीं जानता कि यह वास्तव में मौजूद है या नहीं। – Swivel

+4

अस्वीकार सभी को वापस 403 पर पसंद किया जाता है: https://github.com/h5bp/server-configs/issues/126 – flickerfly

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