누군가가 오징어를 사용하여 maven 저장소를 프록시하는 방법을 알고 있습니까?
그 구성 파일은 무엇입니까?
주요 문제는 maven 클라이언트가 캐시 동작을 제어하는 헤더로 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
이미 Apache HTTPD (및 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
넥서스를 대신 사용해 보셨습니까?
—
artbristol
물론 나는 그것을 고려했다. 나는 또한 다른 사람들을 테스트했습니다. 그러나 프록시 모드에서 Apache만큼 빠르지는 않았습니다. 그렇기 때문에 실제 프록시를 사용하고 Squid를 사용하여 더 많은 성능을 얻고 싶었습니다.
—
Anthony O.
성능을 원한다면 인공물, 넥서스 또는 아파치 아치와 같은 내부 인공물 저장소를 사용하는 것이 더 합리적입니다. 새 모듈을 원할 때마다 인터넷에서 다운로드하여 로컬 네트워크에 저장합니다. 네트워크에있는 누군가가 동일한 모듈이 필요한 경우 인터넷으로 다시 다운로드하지 않아도됩니다. 캐시 크기에 신경 쓰지 않고 대역폭 절약.
—
Joao Vitorino 2016 년
@JoaoVitorino에 동의합니다-인공 캐시를 사용하는 것이 가장 좋은 옵션 일 것입니다.
—
slm 2016 년