誰かがSquidを使用して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 2012年
もちろん私はそれを考慮しました。他の人もテストしました。しかし、プロキシモードのApacheほど高速なものはありませんでした。そのため、実際のプロキシを使用し、Squidを使用してさらに多くのパフォーマンスを取得したいと考えました。
—
アンソニーO.
パフォーマンスが必要な場合は、アーティファクト、ネクサス、Apacheアーカイブなどの内部アーティファクトリポジトリを使用することをお勧めします。新しいモジュールが必要になるたびに、インターネットからダウンロードしてローカルネットワークに保存します。ネットワーク内の誰かがこの同じモジュールを必要とする場合は、インターネットにアクセスしてダウンロードを再度行う必要はありません。帯域幅を節約し、キャッシュサイズを気にしません。
—
Joao Vitorino 2016年
私は@JoaoVitorinoに同意します-アーティファクトのプルスルーキャッシュを使用することはおそらく最良のオプションです。
—
slm 2018年