【问题标题】:SSL cetificate differ from root user to anotherSSL证书因root用户而异
【发布时间】:2016-09-05 19:37:50
【问题描述】:

我是 SSL 主题的新手。

我正在尝试通过我的网站(使用 Laravel 4.2 构建)发送电子邮件,它给了我这个错误:

stream_socket_enable_crypto():SSL 操作失败,代码为 1。OpenSSL 错误消息: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

如果我以 root 用户在服务器中运行此命令:

openssl s_client -connect mail.mywebsite.com -starttls smtp

它显示了正确的证书并在最后给了我这个答案:

验证返回码:0(ok)

但是如果我和另一个用户一起运行这个命令:

苏我的用户

openssl s_client -connect mail.mywebsite.com -starttls smtp

它显示了一个不同的证书,最后给了我这个答案:

验证返回码:18(自签名证书)

如果我运行 top -c 我会看到我的 php 进程使用 myuser 和 php-cgi 运行,并且由于 myuser 的证书错误,因此不会发送电子邮件。

谁能帮帮我?

【问题讨论】:

  • 请检查openssl 是否相同,即相同的路径。还要检查openssl version -V 中的 OPENSSLDIR 设置,并确认它们都指向相同的路径,并且非特权用户具有读取 OPENSSLDIR/certs 中文件的正确权限。

标签: php email ssl


【解决方案1】:

当我检查 Steffen Ullrich 关于 openssl 路径的响应时,我发现我需要通过 WHM 为我的非特权用户安装 SSL 证书,仅此而已。

谢谢。

【讨论】:

    猜你喜欢
    • 2014-02-18
    • 2014-06-16
    • 1970-01-01
    • 2019-03-23
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多