我的docker出现错误“x509证书由未知机构签名” ,然后我发现我的ubuntu容器缺少文件ca-certificates.crt
或。此错误的解决方案是添加/etc/ssl/certs/
/usr/local/share/certificates/
ca 证书.crt到 */usr/local/share/certificates/** 文件夹并运行update-ca-certificates
命令。但我的问题是我不知道在哪里获取该 .crt 文件。
答案1
这是我修复该问题的方法:
docker run -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt --name test image
我从docker主机(Centos)上的文件ca-certificates.crt创建一个绑定卷到容器,并让容器使用它来验证受信任的ca。
答案2
到获取证书,运行类似于下一个命令:
openssl req -newkey rsa:2048 -nodes -keyout nginx/my-site.com.key -x509 -days 365 -out nginx/my-site.com.crt
另外,你可以使用这些说明:
DAYS=1460 PASS=$(openssl rand -hex 16) # remove certificates from previous execution. rm -f *.pem *.srl *.csr *.cnf # generate CA private and public keys echo 01 > ca.srl openssl genrsa -des3 -out ca-key.pem -passout pass:$PASS 2048 openssl req -subj '/CN=*/' -new -x509 -days $DAYS -passin pass:$PASS -key ca-key.pem -out ca.pem