【发布时间】:2018-07-30 22:32:07
【问题描述】:
我尝试了以下方法:
将 mtu 设置为 1400
将 vagrant 降级到 1.8.7 和 VirtualBox 到 5.1.38
关闭主机 (osx) 和来宾 (Ubuntu) 上的防火墙
在来宾操作系统中关闭 iptables
Ping 有效,但任何需要 ssl 握手的操作都会失败,包括 curl 和 php 中的 file_get_contents 超时
例子:
vagrant@scotchbox:~$ openssl s_client -connect www.google.com:443 -prexit
CONNECTED(00000003)
但是使用 curl:
vagrant@scotchbox:~$ curl -iv https://www.google.com
* Rebuilt URL to: https://www.google.com/
* Trying 216.58.194.36...
* Connected to www.google.com (216.58.194.36) port 443 (#0)
* found 173 certificates in /etc/ssl/certs/ca-certificates.crt
* found 694 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
此时它只是挂起。
PHP 也存在建立握手的问题:
Warning: file_get_contents(): SSL: Handshake timed out
【问题讨论】:
-
你试过使用 wget 吗?还要确保导致问题的 TLS:在 curl 命令上使用 --insecure 以跳过证书检查...
-
我已尝试使用 -k 和 --insecure ,但它仍然挂起。
wget https://www.google.com也解析并连接,然后它就挂在那里 -
您能否将 --trace-ascii 添加到 curl 命令中,以便我可以更深入地了解正在发生的事情。 (可能太多,无法添加到上面的问题中)以及您使用的是什么风格的 Linux?什么版本的卷曲?此外,如果您向我提供有关 vagrant 设置的任何其他信息,我可以复制您的构建以最终解决它。
-
几乎使用 scotchbox,无需额外修改。
标签: ssl vagrant virtualbox