अब मेरे पास nginx सेटअप है, मुझे अपनी .git
निर्देशिकाओं को छिपाने में सक्षम होना चाहिए। मुझे आंखों को रोकने के लिए किस प्रकार की पुनर्लेख की आवश्यकता होगी? और जहां server {}
या http {}
ब्लॉक में जाना होगा?आप परियोजना परियोजनाओं को कैसे छिपाते हैं?
उत्तर
http {
server {
location ~ /\.git {
deny all;
}
}
}
यह location
डायरेक्टिव हर उस उप-निर्देशिका के किसी भी .git
निर्देशिका में पहुंचने से रोका जाएगा।
नोट: यह स्थान ब्लॉक आपके मुख्य स्थान ब्लॉक से पहले होना चाहिए, ताकि इसका मूल्यांकन पहले किया जा सके।
यह किसी को http://example.com/.git पर टकराने से रोक देगा, लेकिन यदि आप इस http://example.com/example/.git जैसे उपनिर्देशिका में काम कर रहे हैं तो यह असफल हो जाएगा। आपको वास्तव में आवश्यकता है:
location ~ .*/\.git {
deny all;
}
मैंने अभी इसका परीक्षण किया और 'स्थान ~/\। {access_log बंद; log_not_found बंद; सभी से इंकार कर दिया; } 'छुपा उपनिर्देशिका तक पहुंच को अवरुद्ध कर देगा। इसलिए मुझे नहीं लगता कि अतिरिक्त '। * आवश्यक है। – chrishiestand
छिपी निर्देशिका और फ़ाइलें कभी भी वेब पहुंच योग्य नहीं होनी चाहिए। अपने प्रश्न का सामान्य जवाब है:
location ~ /\. { return 403; }
यह किसी भी उपनिर्देशिका में .git के लिए उपयोग, .svn, .htaccess और इसी तरह की फाइलों से इनकार करते हैं।
बिल्कुल सवाल नहीं पूछा गया - लेकिन वह वैसे भी सही है :) –
मैं आगे जाऊंगा और कहूंगा कि कोई भी नहीं जानता कि वे मौजूद हैं, अवधि! (इतना नहीं कि उन्हें हमेशा उन तक पहुंच से इंकार कर दिया जाना चाहिए)। इस प्रकार, आपका उत्तर 'रिटर्न 403' से बदलता है, '404 लौटाता है; '... इस तरह, जिस व्यक्ति को इसका उपयोग करने का प्रयास करने वाला व्यक्ति यह नहीं जानता कि यह वास्तव में मौजूद है या नहीं। – Swivel
अस्वीकार सभी को वापस 403 पर पसंद किया जाता है: https://github.com/h5bp/server-configs/issues/126 – flickerfly
- 1. आप एचटीएमएल 5 ऑडियो नियंत्रण कैसे छिपाते हैं?
- 2. आप एक WPF दस्तावेज़ व्यूअर मेनू बार कैसे छिपाते हैं?
- 3. आप कोड में गुप्त कुंजी कैसे छिपाते हैं?
- 4. एंड्रॉइड: आप एक्शनबार में टैब कैसे छिपाते हैं?
- 5. आप एक .NET अनुप्रयोग में एन्क्रिप्शन कुंजी कैसे छिपाते हैं?
- 6. जब आप कहीं और क्लिक करते हैं तो स्विंग पॉपअप को कैसे छिपाते हैं
- 7. सी # परियोजनाओं में आप app.config को कैसे एम्बेड करते हैं?
- 8. आप अपनी एटीजी परियोजनाओं को कैसे व्यवस्थित करते हैं?
- 9. आप फ्लैश बिल्डर परियोजनाओं पर कैसे सहयोग करते हैं?
- 10. आप उन परियोजनाओं की राज्य जानकारी कैसे रखते हैं जिन पर आप काम कर रहे हैं?
- 11. आप एक बड़ी परियोजना
- 12. आप Django में फॉर्म फ़ील्ड को गतिशील रूप से कैसे छिपाते हैं?
- 13. Gradle बहु परियोजना खाली परियोजनाओं
- 14. आप अपनी परियोजना में सीएसएस कैसे व्यवस्थित करते हैं?
- 15. क्या आप एपेंगेन परियोजनाओं को हटा सकते हैं?
- 16. symfony2 में किसी फॉर्म क्लास में लेबल कैसे छिपाते हैं?
- 17. आप एकाधिक परियोजनाओं में कॉन्फ़िगरेशन को केंद्रीकृत कैसे करेंगे?
- 18. ट्रैक में आप एकाधिक (ओवरलैपिंग) परियोजनाओं को कैसे प्रबंधित करते हैं?
- 19. आप कैसे ध्यान केंद्रित करते हैं और परियोजनाओं को शिप करते हैं?
- 20. बड़े पैमाने पर सी ++ परियोजनाओं में आप इकाई परीक्षण को कैसे कार्यान्वित करते हैं?
- 21. आप एक आईफोन एक्सकोड परियोजना कैसे बनाते हैं?
- 22. आप एक चुस्त परियोजना में संस्करण संख्या कैसे करते हैं? ।।
- 23. मौजूदा परियोजनाओं को कैसे समझें
- 24. .NET समाधान - कई परियोजनाओं बनाम एक परियोजना
- 25. आप अपनी नेट परियोजनाओं में बाहरी पुस्तकालयों को कैसे पैकेज करते हैं?
- 26. आप अपनी परियोजनाओं का संस्करण कैसे बनाते हैं और रिलीज प्रबंधित करते हैं?
- 27. कैसे दानेदार अपने SVN "परियोजनाओं" कर रहे हैं:। एक बड़ी परियोजना एप्लिकेशन
- 28. आप क्यूटी लेआउट समस्याओं को कैसे डिबग करते हैं
- 29. परियोजना को कई परियोजनाओं में विभाजित करने के कारण?
- 30. आप अपने एनयूनीट परीक्षणों को एक बड़ी परियोजना पर कैसे बनाते हैं?
क्या यह काम करता है यदि '.git' फ़ोल्डर उपनिर्देशिका में है/जैसे फ़ोल्डर/.git /'? – Xeoncross
हां, यह करता है। "स्थान ~" मैचों * नियमित अभिव्यक्ति *, उप-पथ नहीं। – rzab
ध्यान में है कि यह स्थान ब्लॉक ** पहला ** स्थान ब्लॉक होना चाहिए। अन्यथा अन्य ब्लॉक इससे पहले हो सकते हैं। ज्यादातर परिदृश्यों में केवल एक स्थान ब्लॉक संसाधित होता है। – dreamlab