2

CentOS Linux リリース 7.4.1708 に Nexus Repository Manager OSS 3.0.2-02 をインストールしました。

また、私はCA証明書を持っています:

Issued to: \*.mycompany.com  
Issued by: Go Daddy Secure Certificate Authority - G2  
Valid from 2016-11-12 to 2018-01-11

RSA 秘密鍵は、 Certificate Key Matcherでチェックされ、報告された CA 証明書と一致します。

証明書と秘密鍵が一致しました!

Nexus3 ディレクトリで、次の変更を行いました。

ファイルorg.sonatype.nexus.cfgに次の行を追加しました。

nexus-args=${karaf.etc}/jetty.xml,${karaf.etc}/jetty-http.xml,${karaf.etc}/jetty-requestlog.xml,${karaf.etc}/jetty-https.xml     
application-port-ssl=8443

jetty-https.xmlファイルの次の行に追加:

KeyStorePath /ssl/test.jks  
KeyStorePassword 123456  
KeyManagerPassword 123456  
TrustStorePath ssl/test.jks  
TrustStorePassword 123456

次のコマンドを使用して、SSL ディレクトリを作成し、SSL ディレクトリ内に Java キーストア ファイルを作成$NEXUS_HOME/etc/しました。test.jks

openssl pkcs12 -export -in mycompany.com.pem -inkey key.pem -name xxx.mycompany.com -out test.pks
keytool -importkeystore -deststorepass 123456 -destkeystore test.jks -srckeystore test.pks -srcstoretype PKCS12
keytool -import -alias bundle -trustcacerts -file gd_bundle.crt -keystore test.jks

Nexus の再起動後、 URL でアクセスできません//xxx.mycompany.com:8443。Firefox は次のように述べています。

受信したデータの正当性が確認できなかったため、表示しようとしているページを表示できません

また、しようとしています:docker login xxx.mycompany.com:8443デフォルトのadmin:admin:123資格情報を提供すると、次の原因が生じます:

デーモンからのエラー応答: Get xxx.mycompany.com:8443/v1/users/: x509: 不明な機関によって署名された証明書

また、キーストアに証明書チェーンを追加する方法など、Google のさまざまなシナリオで証明書をチェーンしようとしていますか? 、しかしDockerでエラーが発生しました:

デーモンからのエラー応答: Get //xxx.mycompany.com:8443/v1/users/: EOF

Firefox で、最初と同じように、Chrome で:

//xxx.mycompany.com が予期せず接続を閉じました

質問:私の間違いはどこですか、または Nexus3 に CA 証明書を正しくインストールする方法を教えてください。

4

1 に答える 1

2

解決策を見つけました。次の行で設定する必要がありましたjetty-https.xml

<Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set>
<Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set>
于 2017-11-30T08:57:33.227 に答える