gpt4 book ai didi

ssl - Docker 容器未连接到 https 端点

转载 作者:IT老高 更新时间:2023-10-28 21:38:00 25 4
gpt4 key购买 nike

在 docker 容器中,我正在运行

# openssl s_client -connect rubygems.org:443 -state -nbio 2>&1 | grep "^SSL"     

SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:error in SSLv2/v3 read server hello A

这就是我的全部

我无法从 docker 容器中连接到任何 https 站点。容器在 openstack vm 上运行。 vm 可以通过 https 连接。

有什么建议吗?

更新

root@ce239554761d:/# curl -vv https://google.com
* Rebuilt URL to: https://google.com/
* Hostname was NOT found in DNS cache
* Trying 216.58.217.46...
* Connected to google.com (216.58.217.46) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):

然后就挂了。

另外,我现在正在获得间歇性的成功。

健全性检查:

  • 更改 docker ips 并不能解决问题

  • docker 容器在我的本地机器上运行

  • docker 容器在其他云上工作

  • Docker 1.10.0 在 vms 中不起作用

  • Docker 1.9.1 在虚拟机中运行

最佳答案

Docker community 给了我一个解决方案

OpenStack 网络似乎使用较低的 MTU 值,并且 Docker 不会从主机的网卡 since 1.10 推断 MTU 设置.

要使用自定义 MTU 设置运行 docker daemon,您可以关注 this blog post ,也就是说:

$ cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

在新文件中编辑一行,如下所示:

ExecStart=/usr/bin/docker daemon -H fd:// --mtu=1454

或者(如下 Dionysius 所建议的),创建和编辑文件
/etc/systemd/system/docker.service.d/fixmtu.conf如下:

[Service]
# Reset ExecStart & update mtu (see original command in /lib/systemd/system/docker.service)
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --mtu=1454.

1454 的 MTU 似乎是 OpenStack 常见的值。您可以使用 ifconfig 在您的主机中查找它。

最后重启 Docker:

$ sudo systemctl daemon-reload
$ sudo service docker restart

关于ssl - Docker 容器未连接到 https 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35300497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com