求专治疑难杂症的老中医帮助,SSL证书无效的问题

好多年前给客户做了个系统,客户一直正在用,本系统每年就 1 月初用几天。网站使用的 https 协议,ssl 证书有效期是一年。
今年使用前 ssl 证书已更换为新的证书,但用户反馈部分苹果用户使用时会提示证书存在问题,并提示已过期 49 天(该用户浏览器端加载到的还是更换之前的证书,新证书没有生效)。

这里是因为缓存的问题吗?应该做怎样的处理避免这个问题?

微信中提示:
SSL证书无效的问题,求经验丰富的大佬帮助

浏览器中提示:
SSL证书无效的问题,求经验丰富的大佬帮助

客户电脑提示:
SSL证书无效的问题,求经验丰富的大佬帮助

nginx 配置

server {
  listen 80;
  listen 443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/*******.cn.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/*******.cn.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name *******.cn;
  access_log /data/wwwlogs/*******.cn_nginx.log combined;
  index index.html index.htm index.php;
  root /data/wwwroot/*******.cn/public;

  include /usr/local/nginx/conf/rewrite/laravel.conf;
  #error_page 404 /404.html;
  #error_page 502 /502.html;

  location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
    deny all;
  }
}
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 10

重启一下 nginx 服务器。每次更换配置都要重启

2年前 评论
mmx (楼主) 2年前

你更换证书之后重启 nginx 没

2年前 评论
mmx (楼主) 2年前
zjason (作者) 2年前

如果觉得麻烦可以用阿里云的负载均衡,监听服务器上的 80,把域名解析到负载均衡上,在负载均衡上绑定证书就行

2年前 评论
66

检查服务器时间

2年前 评论
安卓用户没反馈这个问题,苹果用户有反馈这个问题

排除服务器问题。找个 iOS 资讯下,苹果会不会缓存证书或者下载证书到本地

2年前 评论

还有一个办法,你换一个免费的 https 证书试试。确保不是证书的问题。 具体可以用 来此加密 这个网站来申请证书,可以申请泛域名证书,百度一下就行,我试过了很好用。

2年前 评论

首先在出现问题的 PC 上看获得的证书有效期是否正常:
安装 Smallstep CLI

代码已被折叠,点此展开

如果证书没问题,那么可能是客户端的系统时间有问题!

还有一种可能就是:

苹果公司在第 49 届 CA / 浏览器论坛 (CA/Browser) 会议上宣布:为了提高网络安全性,任何有效期超过了 398 天的新网站证书都将不会受到 Safari 浏览器的信任。但是,在截止日期 (2020 年 9 月 1 日) 之前颁发的证书不受此规则的影响。

简单来说当 SSL 证书同时满足以下条件时,将不会被 Safari 信任:

  1. 在 2020 年 9 月 1 日之后签发
  2. 有效期超过 398 天

在 2020 年 9 月 1 日前签发的证书不受影响。此举目的是通过确保开发者使用最新加密标准的证书来提高网站的安全性,并减少被忽视的旧证书的数量,这些证书有可能被盗窃,并被用于网络钓鱼和驱动器恶意软件攻击。

另外我在较老的 Windows 设备上使用 Chrome 发现由 Let’s Encrypt 签发的证书不被信任,可能是较老的系统中没有 CA 的 Root 证书!

2年前 评论