Linux 服务器时间不同步,导致证书过期

你是否遇到过浏览器提示证书过期,但检查证书明明还在有效期内?
这种情况十有八九是服务器时间不同步导致的。
下面我会从零开始,教你彻底搞定Linux服务器的时间校准,顺手解决证书失效的困扰。

先确认时间是不是罪魁祸首

登录服务器后,先看看当前系统时间:

date

再比对一下真实时间(比如手机或电脑)。
如果相差几分钟以上,很可能就是这个问题。
接着检查证书状态:

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates

如果输出显示证书有效日期正常,但服务器本地时间远超出范围,那问题就确认了。

三步让服务器时间恢复正常

第一步:安装时间同步工具

多数Linux发行版已经内置了ntpdate或chrony,如果没装,按系统选择:

  • CentOS / RHEL:yum install -y ntpdate chrony
  • Ubuntu / Debian:apt install -y ntpdate chrony

如果你用的是宝塔面板,直接在软件商店里搜索“NTP”或“chrony”安装即可。

第二步:手动同步一次时间

先停止自动同步服务(避免冲突),然后强制校准:

systemctl stop chronyd   # 如果使用chrony
ntpdate -u ntp.aliyun.com

如果ntpdate报错,可以换一个NTP服务器:ntpdate -u ntp.tencent.com或ntpdate -u cn.pool.ntp.org。
同步后再次执行date看时间是否已更新。

第三步:设置时区并开启自动同步

时区错误也会导致证书对比出错。
指定时区为Asia/Shanghai:

timedatectl set-timezone Asia/Shanghai

然后启动时间同步服务并设置开机自启:

  • 使用chrony:
  systemctl start chronyd
  systemctl enable chronyd
  • 使用ntpdate + crontab(简单方式):
  echo "*/30 * * * * /usr/sbin/ntpdate -u ntp.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root

验证自动同步是否配置成功:

chronyc sources -v   # chrony状态
timedatectl status   # 确认NTP synchronized为yes

避坑指南:这些细节最容易忽略

  1. 防火墙拦截NTP端口:UDP 123端口必须放行。检查命令:
   firewall-cmd --list-all | grep 123

如果被拦截,执行:firewall-cmd --add-port=123/udp --permanent && firewall-cmd --reload。

  1. 云平台NTP黑洞:某些云服务器(如AWS、阿里云)默认使用内部NTP服务器,如果你替换成公共服务器可能超时。建议直接使用云平台提供的NTP地址(例如阿里云:ntp.aliyun.com)。
  2. 硬件时钟(RTC)未更新:同步系统时间后,记得把时间写入主板CMOS:
   hwclock -w

否则重启后时间会复原。

  1. 证书验证仍报错:如果时间已经校正,但浏览器依然报证书过期,请清空浏览器缓存或换隐身模式测试。部分CDN或反向代理需要重启Nginx才能加载新证书。

高频问题速查

Q:为什么同步完时间后,证书还是报错?
A:先检查时区是否匹配证书颁发机构的时区(通常为UTC)。执行timedatectl查看“Time zone”和“RTC in local TZ”。建议统一设置为Asia/Shanghai或UTC,证书验证不受时区影响,但服务器时间偏差不能超过几分钟。

Q:没有root权限能同步时间吗?
A:普通用户无法执行ntpdate和timedatectl,需要联系管理员授权或使用sudo。

Q:ntpdate命令找不到怎么办?
A:安装ntpdate包即可。另外部分新版系统不再预装ntpdate,你可以改用chrony -q或者timedatectl set-ntp true。

验证成果:证书彻底恢复正常

再次执行最初的两条命令:

date
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates

如果当前时间落在证书的“notBefore”和“notAfter”之间,就说明问题解决了。
建议持续观察一周,确认自动同步稳定运行。

如果你正在处理 Linux 服务器时间不同步,导致证书过期,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
用大模型写运维配置,导致权限配置错误
下一篇
宝塔面板多站点域名配置错误,导致跳转异常
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意