Jenkins 发布工件时,Nexus返回错误502(坏网关)

Jenkins 发布工件时,Nexus返回错误502(坏网关),jenkins,nexus,Jenkins,Nexus,我刚刚完成了Sonatype Nexus 3.2.1-01的安装,我正在尝试使用Jenkins作业和Nexus工件上传器2.9插件发布一些工件 上传开始正常: 100 % completed (572 kB / 572 kB). 但随后它抛出了错误: Return code is: 502, ReasonPhrase:Bad Gateway. Jenkins和Nexus服务器都使用反向代理,我认为这是问题的根源 Apache日志似乎表明Nexus没有回复该请求: [Thu Apr 06 18

我刚刚完成了Sonatype Nexus 3.2.1-01的安装,我正在尝试使用Jenkins作业和Nexus工件上传器2.9插件发布一些工件

上传开始正常:

100 % completed (572 kB / 572 kB).
但随后它抛出了错误:

Return code is: 502, ReasonPhrase:Bad Gateway.
Jenkins和Nexus服务器都使用反向代理,我认为这是问题的根源

Apache日志似乎表明Nexus没有回复该请求:

[Thu Apr 06 18:50:46.128569 2017][proxy:error][pid 10327](32)管道破裂:

[client some_ip:57928] AH01084: pass request body failed to 0.0.0.0:8081 (0.0.0.0)
[Thu Apr 06 18:50:46.128649 2017] [proxy_http:error] [pid 10327] [client some_ip:57928] AH01097: pass request body failed to 0.0.0.0:8081 (0.0.0.0) from some_ip ()
这是我在Apache中为Sonar服务器提供的VirtualHost配置:

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin some@email.com
     ServerName  some.website.com
     ServerAlias nsome.website.com

     DocumentRoot /srv/www/nexus/public_html/
     ErrorLog /srv/www/nexus/logs/error.log
     CustomLog /srv/www/nexus/logs/access.log combined

     ProxyPreserveHost On
     ProxyPass / http://0.0.0.0:8081/
     ProxyPassReverse / http://0.0.0.0:8081/
     ProxyPassReverse / https://some.website.com/

     SSLCertificateFile /etc/letsencrypt/live/some.website.com/cert.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/some.website.com/privkey.pem
     Include /etc/letsencrypt/options-ssl-apache.conf
     SSLCertificateChainFile /etc/letsencrypt/live/some.website.com/chain.pem
</VirtualHost>
</IfModule>
2) 强制请求标头:

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
3) 在ProxyPass行中设置超时和保留选项:

ProxyPass / http://0.0.0.0:8081/ retry=1 acquire=3000 timeout=600 Keepalive=On

最后,错误502(坏网关)与问题的根本原因无关。要发布快照版本的工件上列出的版本不符合Nexus策略,这触发了错误。

在我的情况下,这是Nexus2到Nexus3的升级问题:此处组件URL从
到。

我遇到了相同的问题,因为我的python脚本跳过了基本身份验证。在被迫的情况下,问题得到了解决


这很奇怪,因为上传一个'tar.gz'可以正常工作,但是一个'zip'会给我502错误。

将此添加到您的pom文件中

<distributionManagement>
    <snapshotRepository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
</distributionManagement>

ossrh
https://oss.sonatype.org/content/repositories/snapshots
ossrh
https://oss.sonatype.org/service/local/staging/deploy/maven2/

为什么有两个ProxyPassReverse语句,都映射回“/”?
<distributionManagement>
    <snapshotRepository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
</distributionManagement>