我是一名 Web 开发人员,所以请耐心等待。
我的 VPS 上托管了 3 个个人域名,使用 nginx 作为 Web 服务器,将传入的 https 请求代理到 3 个不同的 Node.js 站点。SSL 证书在所有浏览器上均可正常使用,无论是 nginx 还是 Node.jshttps
模块。浏览器对此没有异议。
问题是当我运行时openssl s_client -showcerts -connect gabrieleromanato.io:443
,unable to verify the first certificate
我openssl s_client -showcerts -connect gabrieleromanato.name:443
得到了同样的错误,因为 CN 部分显示 gabrieleromanato.io 而不是 gabrieleromanato.name。gabrieleromanato.io 已设置为default_server
。否则我无法让它工作。
我也尝试过使用proxy_ssl_certificate
,proxy_ssl_certificate_key
如图所示 这里但运行nginx -t
返回错误,提示此类指令未知。我使用的是 Ubuntu 14.04.5 和 nginx 1.4.6。
提前致谢。
答案1
您使用 Comodo 证书,我通过 SSL Labs 对它们进行了检查:
https://www.ssllabs.com/ssltest/analyze.html?d=gabrieleromanato.io&latest
https://www.ssllabs.com/ssltest/analyze.html?d=gabrieleromanato.name&latest
问题是您没有按照说明将证书与 ca-bundle 捆绑在一起:
现在,您的服务器仅发送一个证书,这是不完整的,因为我们需要完整的链。
除了这个问题之外,您还遇到了一些主要与安全相关的一般问题。您不应再使用 SSL3.0 并禁用弱 DH 密码。从性能方面来看,您应该研究会话恢复/缓存和 OCSP 装订。