背景
通过Freemarker生成Html文件并上传到minio时产生如下报错:
报错原因
因为我的minio是部署在我的linux虚拟机上的,报错提示:The difference between the request time and the server's time is too large,意思是请求端和服务端的时间跨度太大。
解决方案
此时我们可以去查看一下虚拟机的系统时间和硬件时间,不知道这两个时间的区别的小伙伴可以去看一下这篇文章:linux系统时间和硬件时钟问题(date和hwclock)
分别使用命令 date 和 hwclock 查看系统时间和硬件时间:
[root@localhost ~]# date
2023年 10月 23日 星期一 23:04:14 CST
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# hwclock
2024年05月28日 星期二 13时48分06秒 -0.838778 秒
发现时间跨度太大,正是报错问题所在。
可以通过ntpdate同步校时:
1. 安装ntpda(我这里显示已安装)
[root@localhost ~]# yum -y install ntp ntpdate
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirror.nju.edu.cn
* extras: mirror.nju.edu.cn
* updates: mirror.nju.edu.cn
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
软件包 ntp-4.2.6p5-29.el7.centos.2.aarch64 已安装并且是最新版本
软件包 ntpdate-4.2.6p5-29.el7.centos.2.aarch64 已安装并且是最新版本
无须任何处理
[root@localhost ~]#
2. 与时间服务器同步时间
[root@localhost ~]# ntpdate cn.pool.ntp.org
28 May 14:03:57 ntpdate[8502]: step time server 139.199.215.251 offset 53024.762798 sec
3. 将系统时间写入硬件时间
[root@localhost ~]# hwclock --systohc
[root@localhost ~]#
4. 查看系统时间与硬件时间是否校对成功
[root@localhost ~]# date
2024年 05月 28日 星期二 14:06:05 CST
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# hwclock
2024年05月28日 星期二 14时06分10秒 -0.349845 秒
报错解决
校对成功,再次运行程序,通过,报错解决。