我在代理服务器后面使用 Maven 3.1.1。同一个代理处理 HTTP
和 HTTPS
流量。
我似乎无法告诉 Maven 使用 settings.xml
使用这两种协议。在我看来,只有一个活动代理是可能的,因为首先定义的活动代理将被使用,随后的“活动”代理定义将被忽略。这是我的 settings.xml
:
<proxies>
<proxy>
<id>myhttpproxy</id>
<active>true</active>
<protocol>http</protocol>
<host>192.168.1.2</host>
<port>3128</port>
<nonProxyHosts>localhost</nonProxyHosts>
</proxy>
<proxy>
<id>myhttpsproxy</id>
<active>true</active>
<protocol>https</protocol>
<host>192.168.1.2</host>
<port>3128</port>
<nonProxyHosts>localhost</nonProxyHosts>
</proxy>
</proxies>
是否可以在 Maven 的 settings.xml
--- 中为 HTTP
和 HTTPS
配置代理?我知道我可以通过将 Java 系统属性传递给 Maven 调用来解决这个问题,例如:
-Dhttps.proxyHost=192.168.1.2 -Dhttps.proxyPort=3128
但肯定这必须可以从 settings.xml
内部实现?
提出的 Maven 错误(如 MNG-2305 和 MNG-4394 )表明此问题已解决,但我不相信。
或者,是否有一个我可以在本地运行并可以指向 maven 的“代理代理”? “代理代理”将相应地路由 http/https。即便如此,我仍然需要在 settings.xml
中定义两个活动代理定义,以便 Maven 引导这两种类型的流量。
原文由 Stephen Hartley 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自 settings.xml 的 Maven 代理同时用于 http 和 https,所以你只需要定义一个代理服务器,它将用于两者,你只需要留下一个
proxy
标签,就像这样:上面的协议是代理服务器的协议,不是被代理的请求。