【发布时间】:2016-11-30 02:25:04
【问题描述】:
所以我们正在用 PHP 构建一个 Web 应用程序,并尝试向外部 API 发出请求。问题是我们遇到了 curl 错误:
cURL 错误 7:无法连接到 external.api.com 端口 443:没有到主机的路由
现在有一点背景。
- 我们正在使用Guzzle 发出请求。
- 我们在 Apache 上托管,它在 Linux 机器上运行,我们也使用 SSL。
- API 也使用 SSL,因此错误消息中的端口为 443。
- HTTP 请求包括用于身份验证的证书。
我已经设法让它在两个不同的开发环境中运行,但不是在生产环境中运行。我怀疑问题出在 Apache 的配置中,好像我们还没有使它可用于向某些 IP 或端口发出请求。我不知道如何检查它。我读到我可能需要更改文件 /etc/network/interface 但我还没有找到任何关于在那里写什么的信息。
我还阅读了我必须运行 $ netstat -rn 以获得答案,但我不知道该看什么。
编辑:
甚至不能在没有任何参数和任何东西的情况下发出简单的 get 请求。 但是我可以向https://google.com 和https://facebook.com 提出请求。过几篇再写吧。
【问题讨论】:
-
这通常是防火墙问题。一些企业环境甚至会阻止生产区的出站流量。
-
@JeffPuckettII
$ sudo ufw status返回非活动状态。
标签: php apache ssl curl guzzle