我们正在运行 Sonatype 的 Nexus 来存储我们所有的构建、缓存我们的依赖项等。但是,我想摆脱默认安装的端口8081
URL,而是通过 Apache 代理通过 SSL 托管它。我已经设置了 Apachemod_proxy
来代理它,这样就可以https://myserver.com/nexus
启动 Nexus。我在虚拟主机配置中使用了以下配置指令:
# Configure mod_proxy to be used for proxying URLs on this site to other URLs/ports on this server.
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
# Proxy the Sonatype Nexus OSS web application running at http://localhost:8081/nexus
<Location /nexus>
ProxyPass http://localhost:8081/nexus
ProxyPassReverse http://localhost:8081/nexus
</Location>
这似乎与Running Nexus Behind a Proxy中的说明相匹配。但是,我无法清除 Nexus 中的“基本 URL”设置:它不会让我将其留空。
一切正常:我可以通过 HTTPS URL 访问 Nexus,登录并执行大多数 GUI 功能。
但是,在登录时,我收到以下警告消息:
警告:基本 URL 设置
http://myserver.com/nexus
与您的实际 URL 不匹配!如果您正在运行 Apache mod_proxy,这里有更多关于使用它配置 Nexus 的信息。
并不是 GUI 中的所有东西都能正常工作。到目前为止,我注意到以下几点:
- 系统提要:给出以下错误:
访问 /nexus/service/local/feeds 时出现问题。原因:
请求标识的资源只能根据请求中发送的接受头生成具有不可接受的内容特征的响应实体
Nexus 返回错误:错误 406:请求标识的资源仅能够生成响应实体,其内容特征根据请求中发送的接受标头不可接受
- 删除托管存储库:我检查并删除了几个空且不需要的存储库。但是,在确认删除后,只删除了第一个。我必须登录该
8081
站点才能删除任何其他站点。