我在我的docker容器中运行debian 9,今天我无法在容器中更新Lets的根证书。在主机Ubuntu 20上,没有我的任何干预,一切都正常工作,但在我的debian容器上,我无法获得新的root Lets加密证书,只有重新创建的容器有帮助。我试过update-ca-certificates --fresh,但没有用。有什么想法吗?
由于容器内部向带有Lets加密证书的https服务发出的此问题请求失败,返回"SSL证书问题:证书已过期“,因为Lets加密的根证书已于今天(2021年9月30日)过期。
发布于 2021-10-01 14:37:30
首先尝试从/etc/ca-certificates.conf中的列表中删除旧证书:
sed -i 's#mozilla\/DST_Root_CA_X3.crt#!mozilla\/DST_Root_CA_X3.crt#g' /etc/ca-certificates.conf
update-ca-certificates --fresh发布于 2021-10-02 14:55:45
昨天我也遇到了同样的问题,但我分享了黑客的东西,因为它是生产环境,所以我必须立即这样做,我的docker图像在AWS ECR中。所以我决定重建TaskDefinition的镜像。
只需从ECR中提取docker镜像,使用该镜像创建一个新的Dockerfile
From <acc.docker-image:tag>
RUN sed -i 's/mozilla\/DST_Root_CA_X3.crt/!mozilla\/DST_Root_CA_X3.crt/g' /etc/ca-certificates.conf
RUN update-ca-certificates构建新的docker映像并推送到ECR,从TaskDefinition创建新的修订版,并更新最新的映像。
最后,我用新的TaskDefintion更新了ECS服务,我的问题在20分钟内得到了解决。
我不确定你的ENV,但是这个简单的hack方法会减少痛苦,你会花时间为你的应用程序重建基础映像。
https://stackoverflow.com/questions/69401972
复制相似问题