JenkinsのセキュリティでLDAPSを有効にしたいのですが、私のLDAPサーバーには自己署名CERTがあります。誰かがこれをしたか、これを行う上でいくつかの指針がありますか? keytoolを使用する必要がありますか?
私のDockerfileで次のことを試していますが、これは機能しません。
FROM jenkins
USER root
# Install CA certs
COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
RUN chmod +r /etc/ssl/certs/ca-certificates.crt
# Install the Jenkins plugin
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
# Expose container port 33838 for Jenkins UDP-based auto-discovery
EXPOSE 33848/udp
ENV Java_OPTS -Xmx2048m
これをDockerfileに追加するだけでよいことがわかります。ここで、ldap.cerは自己署名証明書の証明書チェーンです。
COPY ldap.cer $Java_HOME/jre/lib/security
RUN \
cd $Java_HOME/jre/lib/security \
&& keytool -keystore cacerts -storepass changeit -noprompt -trustcacerts -importcert -alias ldapcert -file ldap.cer
jenkins、nexusおよびsonarqubedocker run
の開始パラメーターを使用して、ホスト上で抽出および準備されたcacerts
ファイルを使用します。
Stackoverflow "DockerのJRE cacertへの自己署名証明書のインポートはサービスによって認識されません")の私の回答を参照してください