我想要做的是使用 SSL 访问一个 Web 服务(我构建的)。它似乎没有工作。一些相关信息:
- 使用 HTTP 一切正常。仅当我使用 HTTPS 时才会出现此问题。
- 输出的实际错误消息如下:
SOAP-ERROR: Parsing WSDL: Couldn't load from ... : failed to load external entity ...
- 该服务是用 PHP 实现的。
- 如果我运行 php -m 或检查 phpinfo() openssl 似乎安装正确。
否则 SSL 证书似乎工作正常。我可以在网站的其余部分使用 HTTPS;只是 Web 服务有问题。
如果我尝试通过浏览器通过 HTTPS 访问 WSDL,它工作正常。如果我尝试访问 SOAP 端点 URL 之一,则会收到错误消息。
- 我编写了一个最小化的 PHP 脚本来尝试对服务进行实际调用。当尝试检索 WSDL 本身时,它将收到错误消息。
- Web 服务器是在 Debian 上运行的 Apache
- 这似乎不是代码问题。我在开发服务器上运行了类似的代码,它在那里运行良好,即使使用 HTTPS。
- 生产系统运行在代理系统上,前面有 nginx。似乎这很可能与该问题有关,但不知道从哪里开始解决该问题。