小编sta*_*ing的帖子

使用 python 的 docker 中独有的本地颁发者证书错误

仅当向 https url 发出请求时,Python 中的 docker 应用程序才会出现以下错误。

<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>

在 Docker 之外,该应用程序可以运行。我可以在其他语言应用程序(例如 dotnet)的 docker 映像中获取相同的 URL。

我努力了:

  1. RUN update-ca-certificates
  2. 安装certfi库并在调用期间手动提供证书
  3. certify在 docker 镜像的不同位置手动插入库自带的证书,例如/usr/local/share/ca-certificates//etc/ssl/certs/RUN update-ca-certificates
  4. 尝试了Python的不同版本(3.6.93.8.4)和提供者(alpinebuster) 。slim-buster
  5. 设置不同的环境变量REQUESTS_CA_BUNDLE,例如SSL_CERT_FILE等。
  6. 使用不同的库,例如requests, urllib,urllib3

....还有大量不同的东西。

当我关闭验证时它当然可以工作,但我想保留验证。

python url ssl ssl-certificate docker

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×1

python ×1

ssl ×1

ssl-certificate ×1

url ×1