我们目前有一个nginx服务器作为4-5个Apache服务器的后端代理运行。我的问题是,在安装ssl证书后,在测试ssl连接时会出现以下错误: openssl s_client -connect xxx.xxxxxxxxx.xxx:443 xxx.xxxxxxxxx.xxx:443 more
Verify return code: 21 (unable to verify the first certificate)
SSL是通过RapidSSL nginx的配置购买的,用于ssl代理的配置如下:
server {
listen 443 ssl;
server_name _;
access_log /var/log/nginx/ssl-access.log;
error_log /var/log/nginx/ssl-error.log;
ssl on;
ssl_certificate ssl/wildcard-xxxxxxx.xx.xx.crt;
ssl_certificate_key ssl/wildcard-xxxxxxx.xx.xx.key;
keepalive_timeout 60;
location / {
proxy_pass https://backend;
}
}
我可以验证后端服务器返回ssl连接是否正常。
Verify return code: 0 (ok)
如果有人能给我一个提示或尖头,我们将不胜感激。
萨克斯,大卫
发布于 2011-05-11 14:54:42
RapidSSL不直接由公认的证书颁发机构对证书进行签名,而是使用中间证书对通配符证书进行签名。Browser / OpenSSL的信任链中没有中间证书,因此无法验证SSL证书。
您必须在nginx中安装中间证书。获取中间证书(它应该包含在您的购买/客户服务说明中),并将其附加到您的证书中。
cat /path/to/intermediate.pem >> ssl/wildcard-xxxxxxx.xx.xx.crt
https://serverfault.com/questions/268545
复制相似问题