新的 Let'sencrypt 证书 ERR_CERT_DATE_INVALID

新的 Let'sencrypt 证书 ERR_CERT_DATE_INVALID

Ubuntu 20.04 Nginx

我使用 certbot 获取了证书,例如 sudo certbot --nginx -d pvapp-2021.umwelt-campus.de。并将证书路径包含到我的两个 nginx 配置文件中(一个用于前端,一个作为节点的反向代理),例如:

 ssl_certificate /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/privkey.pem;

 include /etc/letsencrypt/options-ssl-nginx.conf;

当我向后端发出请求(例如登录)时,我收到错误:
Failed to load resource: net::ERR_CERT_DATE_INVALID tho the certificate definitely is valid.

我的后端是否需要额外的证书?如果需要,我该怎么做?还有什么可能导致错误?

sudo certbot renew --dry-run失败了。

我的 nginx 节点配置:(ssl 部分)

server {
     listen       443 ssl;
     listen       [::]:443 ssl http2;
     server_name  pvapp-2021.umwelt-campus.de;

     # point to ssl certificate path
     ssl_certificate /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/privkey.pem; # managed by Certbot

     include /etc/letsencrypt/options-ssl-nginx.conf;

     root /var/www/client/pvapp-client/dist;
     error_page 404 =200 /index.html;

     location /backend {
          proxy_pass http://localhost:60702;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
          proxy_ssl_verify off;
     }

感谢所有帮助。

答案1

俗话说你应该“相信错误消息”。它告诉你,net::ERR_CERT_DATE_INVALID这意味着某个地方有一个证书被拒绝使用,因为它已经过期,或者被认为已经过期。

  • 如果它确实已过期,则它可能是之前留下的旧证书。
  • 如果只是相信已经过期,发出请求的客户端上的时间设置可能是错误的。

您可以首先检查配置中要求使用的 pem 文件是否过期:

openssl x509 -enddate -noout -in /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/fullchain.pem
openssl x509 -enddate -noout -in /etc/letsencrypt/live/pvapp-2021.umwelt-campus.de/privkey.pem

如果它们没问题,请使用类似的方法检查服务器和请求客户端上的时间设置(并提供输出)timedatectl

此外,您的配置并不完整:您已完成配置,include /etc/letsencrypt/options-ssl-nginx.conf;但尚未显示此文件包含的内容。它很可能包含另一个证书(在上述证书之后加载),该证书将覆盖设置并加载旧证书。

相关内容