【发布时间】:2016-12-28 22:06:58
【问题描述】:
这个问题是相当开放式的,因为坦率地说,我不是 SSL 证书方面的专家,而且它会影响多种语言的代码。它甚至可能不是“代码”问题,更多的是基础设施问题,但在这一点上,我只需要有人为我指明正确的方向。我最近获得了我的 IT 部门颁发的专用网络内部服务证书。我正在使用 Nginx 监听 443 并将 80 重定向到 443。在 Chrome 中一切似乎都很好,但是当切换到 Firefox 时问题开始出现。 Firefox 将站点视为自签名证书,您需要明确指示忽略该站点。问题并没有就此结束,我的 Chef 食谱现在在任何访问我的内部服务(API、文件复制等)的任何地方都失败了,并出现以下类型的错误:
================================================================================
Error executing action `create` on resource 'remote_file[Download Installer]'
================================================================================
OpenSSL::SSL::SSLError
----------------------
SSL Error connecting to http://service.domain.com/download/client - SSL Error connecting to https://service.domain.com/download/client - SSL_connect returned=1 errno=0 state=error: certificate verify failed
我在 Ruby 和 NodeJS 库中看到了同样的错误。通过将库设置为忽略不受信任,我已经能够在很大程度上解决它,但这是一个临时修复。我需要了解为什么会这样。我的证书颁发机构是否设置不正确,我是否需要让 IT 人员更改一些配置?我是否需要将证书复制到需要访问这些 HTTPS 服务的每台机器上?为什么 Chrome 可以正常工作?我在本地机器上搜索了我可能在本地拥有的证书,这导致我在 Chrome 测试中得到误报,但我在本地没有任何应该有任何影响的东西。 Chrome 似乎正在通过网络解析 CA? (这就是我假设它的工作方式)非常感谢任何帮助,谢谢。
【问题讨论】:
-
IT 人员需要确保他们的签名证书受到所有客户的信任。这不是你的问题,而是他们的问题。
-
非常感谢!我将根据这个答案进行研究并询问 IT 人员。
标签: ssl openssl certificate ssl-certificate certificate-authority