咳咳并不是说我的 IT 人员会感谢我告诉你这一点,但通过正确的配置,你通常可以欺骗大多数代理让你通过。
First you have to configure your maven http proxy in settings.xml
<settings>
.
.
<proxies>
<proxy>
<id>example-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>proxyuser</username>
<password>somepassword</password>
<nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>
</proxy>
</proxies>
.
.
</settings>
Then you have to modify your User-Agent:
<server>
<id>archiva.localhost</id>
<configuration>
<httpHeaders>
<property>
<name>User-Agent</name>
<value>Internal-Build-System/1.0</value>
</property>
</httpHeaders>
</configuration>
</server>
因此,例如,如果您的组织仅允许通过代理使用特定版本的 Internet Explorer,那么您就是这样撒谎并声称 maven 是该版本的 Internet Explorer,因此不会打扰您。
如果这不起作用,因为它们从根本上阻止了您需要从中提取 JAR 的站点,那么您可能会变得更加狡猾;是的,它涉及一个 VPS。如您所说,一种选择是使用 git 。
另一种选择(IT 人员讨厌这样做,风险自负,因为无论您的本地政策是什么,这都可能违反它)是将您的 VPS 设置为 HTTP 代理。你可以在你的 VPS 上设置类似 Squid 的东西,然后从你的工作机器设置一个SSH tunnel 到连接到你的 HTTP 代理的 VPS。因此,这将起作用的方式是您的工作机器将使用作为本地端口的 HTTP 代理(例如 localhost:8080)。该本地端口将通过某个网络可接受的端口(例如 80)连接到您的 VPS 的 SSH 隧道。一旦流量到达那里,您的 VPS 就是您的 HTTP 代理,并且您的组织的代理已被绕过。
如果您的 IT 部门设置了深度数据包检测,或者禁止您的 VPS 的 IP 范围,或者其他一些组合,这将失败。但最重要的是,如果他们让你通过网络数据包,他们可以做各种各样的事情让你的生活变得困难,但如果你很聪明,他们可能无法阻止你设置自己的代理并绕过大多数/他们所有的基础设施。