Nginx:[emerg]删除证书后无法加载证书

Rei*_*r68 6 ssl https openssl nginx lets-encrypt

我在我的一个子域上生成了 SSL 证书。然后我尝试delete/revoke使用命令来获取证书certbot delete。弹出一个小终端菜单,询问我要删除什么证书。我删除了我想删除的那个。现在,运行时sudo nginx -t我收到错误消息:

nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/app.mydomain.nl/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory

我猜该certbot delete命令没有完全删除证书之类的?我现在不知道该怎么办...

小智 5

您可能使用了该命令$ certbot --nginx,并且您的 nginx 配置文件已被编辑以查找证书:

server{
    server_name [your_domain];

    location /static {
        ...
    }

    location / {
        ...
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/[...]; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/[...]; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/[...]; # managed by Certbot

}

server{
    if ($host = [your_domain]) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name [your_domain];
    listen 80;
    return 404; # managed by Certbot

}
Run Code Online (Sandbox Code Playgroud)

不会将其$ certbot delete更改回来,因此您必须删除与证书相关的部分并将其更改server_name为您的IP地址,因此它看起来像:

server{
    server_name [your ip];

    location /static {
        ...
    }

    location / {
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)