web-dev-qa-db-ja.com

アーチファクトを公開すると、Nexusがエラー502(不正なゲートウェイ)を返す

Sonatype Nexus 3.2.1-01のインストールを完了したばかりで、JenkinsジョブとNexus Artifact Uploader 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)Broken pipe: 
[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 ()

これは、Sonarサーバー用のApacheのVirtualHost構成です。

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin [email protected]
     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>

他の回答で説明されているように、以下を追加しようとしましたが、役に立ちませんでした:

1)SSL証明書のチェックを無効にします(これらは有効です)。

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

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
2
Tedi

最後に、エラー502(不良ゲートウェイ)は、問題の根本的な原因とは何の関係もありませんでした。スナップショットバージョン用に公開するアーティファクトにリストされているバージョンは、Nexusポリシーに準拠していないため、エラーが発生していました。

2
Tedi