【发布时间】:2016-07-27 03:16:15
【问题描述】:
Apache/PHP/Symphony 在我的中间层用于身份验证和路由。请求通过 http,然后如果请求验证发出请求的人已获得授权,则通过 https 调用后端 Web 服务。后端 Web 服务通过带有自签名证书的 https。我可以直接访问后端服务并通过 chrome 检查器查看我的证书信息。当我通过 url 直接向后端发出请求时,一切正常。当我尝试通过中间层时,我得到一个 504 响应:
{"code":504,"message":"A network communication error has occurred","error":{"code":77,"message":"SSL: can\u0027t load CA certificate file \/etc\/pki\/tls\/certs\/ca-bundle.crt"}}
我将证书生成到:
/usr/local/jboss-eap-6.4/standalone/configuration/.keystore
使用命令:
keytool -genkey -keyalg RSA -alias jboss -keystore .keystore -storepass changeit -validity 9999 -keysize 2048
我还更新了我的standalone.xml 以通过以下方式引用该文件:
<ssl name="ssl" key-alias="jboss" password="changeit" certificate-key-file="/usr/local/jboss-eap-6.4/standalone/configuration/.keystore" protocol="TLSv1" verify-client="false"/>
我的开发机器是 OSX。
似乎 apache 或 symfony 正在寻找 /etc/pki/tls/certs/ca-bundle.cert 中的证书,这是一个在我的系统上不存在的文件。在/etc/apache2/httpd.conf 中搜索“pki”没有结果。
如何设置apache/symfony2 以信任此证书,或者是否有其他方式可以在全球范围内更信任此证书?
【问题讨论】:
标签: php macos apache symfony ssl