Apache2 几个Jenkins CI和Nexus Maven存储库的Apache反向代理

Apache2 几个Jenkins CI和Nexus Maven存储库的Apache反向代理,apache2,jenkins,apache,reverse-proxy,nexus,Apache2,Jenkins,Apache,Reverse Proxy,Nexus,我正在尝试使用ApacheHTTPD为几个Nexus和Jenkins CI服务器设置前端(反向代理),需要一些帮助。我们有像这样的网址- abc.internal.net:8080/ def.internal.net:9000/jenkins/ ghi.internal.net:8080/jenkins/ jkl.internal.net:8081/nexus/ foo.internal.net/nexus/ 我想这些都是后面的FE反向代理设置,以便有类似的东西- scm.internal.ne

我正在尝试使用ApacheHTTPD为几个Nexus和Jenkins CI服务器设置前端(反向代理),需要一些帮助。我们有像这样的网址-

abc.internal.net:8080/

def.internal.net:9000/jenkins/

ghi.internal.net:8080/jenkins/

jkl.internal.net:8081/nexus/

foo.internal.net/nexus/

我想这些都是后面的FE反向代理设置,以便有类似的东西-

scm.internal.net/abc-jenkins/

scm.internal.net/def-jenkins/

scm.internal.net/ghi-jenkins/

scm.internal.net/jkl-nexus/

scm.internal.net/foo-nexus/

一些服务使用根上下文。是否可以将这些内容强制放到任意的web上下文中

我对apachehttpd的了解非常有限,因此一些真正的配置将非常有用。这些服务中的大多数都需要URL、内容和CSS在响应中进行修复。如果这可以在不改变这些服务正在运行的服务器上现有的web上下文的情况下完成,那将是非常棒的

此外,我需要在这些更改上进行软着陆,以便在开发人员和自动化人员过渡到新方案时,遗留URL继续工作数周。这要求太高了吗


提前感谢。

使用
ProxyPassMatch
,您可以尝试:

ProxyPassMatch /([^-]+)-(.*)$ http://$1.internal.net:9000/$2
但这只解释了那些不是以root和端口9000运行的。由于根和端口似乎完全是任意的,因此您可能只需要逐一枚举:

ProxyPass /abc-jenkins/ http://abc.internal.net:8080/
ProxyPassReverse /abc-jenkins/ http://abc.internal.net:8080/

ProxyPass /def-jenkins/ http://def.internal.net:9000/jenkins/
ProxyPassReverse /def-jenkins/ http://def.internal.net:9000/jenkins/

ProxyPass /ghi-jenkins/ http://ghi.internal.net:8080/jenkins/
ProxyPassReverse /ghi-jenkins/ http://ghi.internal.net:8080/jenkins/

ProxyPass /jkl-nexus/ http://jkl.internal.net:8081/nexus/
ProxyPassReverse /jkl-nexus/ http://jkl.internal.net:8081/nexus/
等等