5

我们正在为 Maven 构建设置服务器。我们的公司服务器位于防火墙后面,不允许访问 Internet。对于 maven 构建,我要求我的 IT 团队允许访问 repo1.maven.org。IT 团队根据 IP 地址和端口允许访问。最近我注意到 repo1.maven.org 的 ip 地址一直在变化。几天前它是 93.184.215.223,但今天它已更改为 68.232.45.223。由于 IP 地址的动态变化,我们无法下载依赖项。我不能要求我的 IT 团队继续更改防火墙中的 IP 地址。是否有为 maven 中央存储库保留的 IP 地址池,从中挑选它们?我应该怎么办?

4

2 回答 2

2

我相信这个问题更适合 Maven Central 的人,但我想知道你是否真的可以依赖一个 IP 池,即使它存在。我确信基础设施将非常动态,因为它为全世界的图书馆服务!

  1. 我在搜索时找到了 Maven Central 的这个IP 范围。这可能会在没有任何通知的情况下迅速改变,甚至可能已经过时。

  2. 您还可以尝试通过单个 IP 提供的中央镜像并使用它。同样不能保证 IP 永远不会改变。

  3. 或者,您可以在本地设置一个 Maven 存储库代理并将其托管在某种 DMZ 中。您的网络人员可以允许来自 DMZ 的所有机器,或者这台特定机器(使用 IP)访问所有传出 HTTP,这反过来又允许它访问 Maven Central。您的所有开发人员都将使用内部存储库作为镜像。这种方法还将节省您的网络带宽,因为随着时间的推移,由于库在本地缓存,发送到中央的请求将会减少。

我侦察(3)是更正确的解决方案,尽管我知道它不是直截了当的。

于 2013-06-04T06:22:19.707 回答
0

当前的最佳实践似乎是使用存储库管理器而不是设置镜像。

https://maven.apache.org/repository-management.html

上面的链接中有一个兼容工具列表:

Apache Archiva(开源)

CloudRepo(商业)

JFrog Artifactory 开源(开源)

JFrog Artifactory Pro(商业)

Sonatype Nexus OSS(开源)

Sonatype Nexus Pro(商业)

于 2017-06-30T16:07:16.720 回答