我在安装了LEMP的Ubuntu 18.04上使用Nginx,最近我更新了我的 SSL 证书,因此我可以看到一些名为 .
SSL 证书相关文件最后 2 个文件带有 .zip
private.key (same as old)
public.crt (renewed)
STAR_sellist_com.ca-bundle (renewed)
STAR_sellist_com.crt (renewed)
我之前的nginx配置
server {
listen 443 ssl;
server_name dev.sellist.com;
ssl on;
ssl_certificate /etc/ssl/nginx/public.crt;
ssl_certificate_key /etc/ssl/nginx/private.key;
这在我的证书到期之前有效。现在我可以看到这个错误
AWS HTTP error: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
我知道没有在正确的地方设置中间认证,我该怎么做?请告诉我
STAR_sellist_com.ca-bundle
文件是一个链包。在 Nginx 中,您必须将链包和 .crt 文件转换为一个文件才能执行此运行命令。cat STAR_sellist_com.ca-bundle STAR_sellist_com.crt > STAR_sellist_com.chained.crt
之后更改虚拟主机语法
ssl_certificate /etc/ssl/nginx/STAR_sellist_com.chained.crt; ssl_certificate_key /etc/ssl/nginx/private.key;
我希望它有所帮助。
换行试试
ssl_certificate /etc/ssl/nginx/public.crt;
至
ssl_certificate /etc/ssl/nginx/STAR_sellist_com.ca-bundle;
我们应该为 ssl_certificate 提供完整的链
在这种情况下, nginx 配置相同,无需编辑
SSL 证书相关文件,最后 2 个文件带有 .zip。用public.crt连接最后 2 个文件
解决方案:- 为了使用
cat
命令连接。注意: - 此连接顺序是必须的。