स्क्वीड का उपयोग मावेन भंडार के रूप में करना


10

क्या किसी को पता है कि मावेन रिपॉजिटरी को बढ़ाने के लिए स्क्वीड का उपयोग कैसे किया जाता है?

उसके लिए विन्यास फाइल क्या हैं?

मुख्य समस्या यह है कि मावेन क्लाइंट हेडर के साथ HTTP अनुरोध जारी करता है जो कैश व्यवहार को नियंत्रित करता है (और मैं उसको बायपास करना चाहता हूं)।

यहाँ एक विशिष्ट अनुरोध है:

GET /maven/proxy/jboss-public/org/richfaces/richfaces-bom/4.2.0.Final/richfaces-bom-4.2.0.Final.pom HTTP/1.1
Cache-control: no-cache
Cache-store: no-store
Pragma: no-cache
Expires: 0
Accept-Encoding: gzip
User-Agent: Apache-Maven/3.0.4 (Java 1.6.0_26; Linux 2.6.32-38-generic)
Host: 192.168.2.171
Connection: Keep-Alive

मैं पहले से ही उसके लिए अपाचे एचटीडी (और disk_cache proxy_httpमॉड्यूल सक्षम) का उपयोग कर रहा हूं , लेकिन मैं एक दर्पण बना रहा हूं, प्रॉक्सी नहीं।

यहाँ विन्यास ( उस साइट पर आधारित ) है:

<Proxy *>
Order deny,allow 
Allow from all 
</Proxy>

# central 
ProxyPass /maven/proxy/central http://repo1.maven.org/maven2
ProxyPassReverse /maven/proxy/central http://repo1.maven.org/maven2
CacheEnable disk /maven/proxy/central

# jboss-public-repository-group 
ProxyPass /maven/proxy/jboss-public http://repository.jboss.org/nexus/content/groups/public
ProxyPassReverse /maven/proxy/jboss-public http://repository.jboss.org/nexus/content/groups/public
ProxyPassReverseCookiePath /nexus /maven/proxy/jboss-public
CacheEnable disk /maven/proxy/jboss-public

# codehaus
ProxyPass /maven/proxy/codehaus http://repository.codehaus.org/
ProxyPassReverse /maven/proxy/codehaus http://repository.codehaus.org/
CacheEnable disk /maven/proxy/codehaus

CacheDirLength 2
CacheDirLevels 3

# Override default cache expiration and control 
CacheDefaultExpire 2419200
CacheMaxExpire 2419200

# Ignore requests to not serve from cache. Maven data never changes. 
CacheIgnoreCacheControl On
CacheIgnoreNoLastMod On
CacheStoreNoStore On

# Default max file size is 64K. Set to 1GB. 
CacheMaxFileSize 1073741824

1
क्या आपने इसके बजाय नेक्सस का उपयोग करने पर विचार किया है?
आर्टब्रिस्टल

बेशक मैंने इस पर विचार किया है। मैंने दूसरों का परीक्षण भी किया है। लेकिन प्रॉक्सी मोड में अपाचे जितना तेज कुछ भी नहीं था। यही कारण है कि मैं एक वास्तविक प्रॉक्सी का उपयोग करना चाहता था और शायद और भी अधिक प्रदर्शन प्राप्त करने के लिए स्क्विड का उपयोग कर सकता था।
एंथनी ओ

5
यदि आप परिपूर्णता चाहते हैं, तो अधिक समझदारी से आंतरिक आर्टिफैक्टरी रिपॉजिटरी जैसे आर्टिफैक्ट, नेक्सस या अपाचे आर्काइव का उपयोग करें। हर बार जब आप एक नया मॉड्यूल चाहते हैं, तो वे इंटरनेट से डाउनलोड करेंगे और आपके स्थानीय नेटवर्क पर स्टोर करेंगे, अगर आपके नेटवर्क में किसी को इसी मॉड्यूल की आवश्यकता है, तो फिर से डाउनलोड करने के लिए इंटरनेट पर जाने की कोई आवश्यकता नहीं है। बैंडविड्थ सहेजना और बिना Caches की परवाह किए।
जोआओ विटोरिनो

मैं @JoaoVitorino से सहमत हूं - कैश ऑफ़ आर्टिफ़ैक्ट के माध्यम से एक पुल का उपयोग करना संभवतः सबसे अच्छा विकल्प है।
स्लम

जवाबों:


0

मैं नेक्सस जैसी एक उचित रिपॉजिटरी का उपयोग करने की सलाह दूंगा, जो कि अधिक लचीलेपन को सक्षम करेगा जैसे कि केंद्रीय मैवेन को एक रिपॉजिटरी में अपनी स्थानीय कलाकृतियों के साथ जोड़कर, पहले अनुरोध पर केंद्रीय से डाउनलोड की गई कलाकृतियों की कैशिंग (ताकि आपको सभी कलाकृतियों की मेजबानी करने की आवश्यकता न हो, केवल वे ही आपकी आवश्यकता है), आपको केंद्रीय में कलाकृतियों के विलोपन से बचाता है (एनपीएम लेफ्टपैड फियास्को को लगता है), आपको कुछ निश्चित कलाकृतियों के उपयोग को रोकने में सक्षम बनाता है (कहते हैं कि एक टूटी हुई विरूपण साक्ष्य है जिसमें सुरक्षा दोष है, आप सभी उपयोगकर्ताओं को इसका उपयोग करने से रोक सकते हैं) ।

और, इन सबसे ऊपर, आपके उपयोगकर्ताओं को मावेन / ग्रेडल / आदि के लिए प्रॉक्सी कॉन्फ़िगरेशन स्थापित करने में समय बर्बाद करने की आवश्यकता नहीं है। जो कई बार मुश्किल हो सकता है ...

लेकिन अगर आप इसे स्क्विड में करना चाहिए:

डोमेन में अनुमत डोमेन डालें /etc/squid/mavendomains.list

में squid.conf(या यदि आप फ़ाइलें ... शामिल है):

acl maven-domains dstdomain "/etc/squid/mavendomains.list"
acl allowed-networks src x.x.x.x/x
http_access allow allowed-networks maven-domains
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.