ssl - 登录 artifactory docker registry 时出现隧道连接失败错误

标签 ssl nginx docker artifactory

我们在 artifactory 中创建了一个私有(private)的 docker registry。 我们的 artifactory 是一个独立的安装,并将 Nginx 作为网络服务器。 SSL 证书受信任并且工作正常。

在 docker 客户端上,我已将 ca.crt 复制到/etc/docker/certs.d/:5001/ 当我尝试从我的 docker 客户端登录或推送图像时,我看到以下错误。

[root@cds-dev-test ~]# docker login artifactory.host:5001 用户名:raj 密码: 邮箱:raj@gmail.com 来自守护进程的错误响应:无效的注册表端点

https://artifactory.host:5001/v0/ : 无法 ping 注册表端点 v2 ping 尝试失败并出现错误:获取 https://artifactory.host:5001/v2/ : 隧道连接失败 v1 ping 尝试失败,出现错误:Get artifactory.host:5001/v1/_ping: 隧道连接失败。如果此私有(private)注册表仅支持具有未知 CA 证书的 HTTP 或 HTTPS,请将 --insecure-registry artifactory.host:5001 添加到守护程序的参数中。在 HTTPS 的情况下,如果您可以访问注册表的 CA 证书,则不需要标志;只需将 CA 证书放在/etc/docker/certs.d/artifactory.host:5001/ca.crt

我的 docker 版本是 1.9.1,artifactory 版本是 4.4.3。

当我使用 --insecure-registry 选项但不是安全方式时,它会起作用。我们已准备好所有受信任的证书,但仍然会看到错误。

我试过在 docker 客户端上使用代理设置,也尝试过不使用代理...总是出现同样的错误。

有什么帮助吗?

最佳答案

我想通了。

我的 docker deamon 下有代理设置。我添加了 No_Proxy,它工作正常。

仅供引用.... 所以如果你使用的是受信任的 CA 证书,并且你的网络在代理后面,请确保你的 docker 服务文件没有代理设置,如果它确实添加了 No-proxy=artifactory.host。

/etc/systemd/system/docker.service.d/http-proxy.conf

谢谢

关于ssl - 登录 artifactory docker registry 时出现隧道连接失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159548/

相关文章:

c# - DirectoryEntry 在尝试使用安全端口连接 ldap 服务器时出现 com 异常

Docker compose - 在 shell 中运行 shell 和应用程序

docker - 如何运行docker守护进程?

java - 收到致命警报 : handshake_failure webservice

google-app-engine - 谷歌云平台 - 计算引擎/应用引擎 - SSL/HTTPS

python - 在 Python 中使用企业证书颁发机构进行 HTTPS 证书验证

javascript - 将 .html 附加到我的 href

Django REST AngularJS NGINX 配置

ssl - 如何为flask api和客户端配置ssl证书

javascript - 为什么 docker-compose 中的 Web 应用程序无法连接到同一组合中的另一个容器?