我有一个Apache的nginx服务器运行https://正确configuration了letsencrypt证书。 我可以连接与Firefox,铬,即。 他们都报告连接安全。 不过centos7和ubuntu 14.04报告证书错误:
wget https://gitlab.timeless.cz:8443 Resolving gitlab.timeless.cz (gitlab.timeless.cz)... 82.100.8.23 Connecting to gitlab.timeless.cz (gitlab.timeless.cz)|82.100.8.23|:8443... connected. ERROR: cannot verify gitlab.timeless.cz's certificate, issued by '/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3': Unable to locally verify the issuer's authority.
根据https://www.ssllabs.com/该网页是正确的。
输出
openssl s_client -connect gitlab.timeless.cz:8443
是
CONNECTED(00000003) depth=0 CN = gitlab.timeless.cz verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 CN = gitlab.timeless.cz verify error:num=27:certificate not trusted verify return:1 depth=0 CN = gitlab.timeless.cz verify error:num=21:unable to verify the first certificate verify return:1 --- Certificate chain 0 s:/CN=gitlab.timeless.cz i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 ---
但应该是这样的,这是工作wget和curl)
CONNECTED(00000003) depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/CN=bk1.timeless.cz i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3 i:/O=Digital Signature Trust Co./CN=DST Root CA X3 ---
我也有一些Apache服务器,这将与让我们encryption证书正常工作。 我是说wget …
我不知道为什么这是在浏览器中,但不是在cli。
编辑:
我在Ubuntu上使用从omnibus软件包安装的gitlab,在http端口8080和https 8443上运行捆绑的nginx。它默认安装了自签名证书。
然后,我安装了Apache(标准端口80,443),并使用letsencrypt-auto实用工具进行configuration。 https工作正常,所有人都信任。
首先,我试图configurationApache来终止https和stream量到未encryption的nginx(端口8080)。 它基本上工作,但我有问题login和git克隆。 这使得它无法使用。
第二我试图链接让encryption生成的证书为Apache的Nginx,但只有.crt和.key文件在/ etc / gitlab / ssl。 所以我不知道如何包括连锁证书。 奇怪的是,没有它的浏览器是快乐的,但wget,git和curl失败。
今天我find了
https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-omnibus-apache24.conf
并设法解决我的第一个解决scheme。 这为我提供了,因为我得到的证书自动更新,可以使用标准的端口gitlab,最后我可以使用一个IP多个服务。
解决第二个解决scheme是将链包含到nginx中,但它是捆绑的giltab,所以正常的configuration不适用。
我最近有一个问题,C7系统不能升级一些软件包,因为远程证书不被信任。 我可以使用wget来validation。 经过一番search和头部划伤,我决定重新安装ca-certificates包
yum reinstall ca-certificates
这解决了我的问题。 尝试在正在运行wget的系统上重新安装ca-certificates包。
就像你自己输出的openssl web服务器(是apache还是nginx?在你的问题上有点不清楚)错过了中间链证书。 你需要在Apache中的SSLCertificateChainFileconfiguration
ssllabs的输出是正确的,因为你正在testing使用wget或curl工作的端口443。 您不能在sslabs工具中testing443以外的端口。