当前位置: 首页 > news >正文

本地(macOS)和服务器时间不同步导致的 Bug排查及解决

问题

今天在开发项目时发现:本地环境运行的项目偶尔会登录不了,提示token无效。

接口报错

怪了,很久都没动过登录相关的模块了,环境也没动过,怎么会突然登录不了呢。


排查

于是我就去调试了一下登录的模块,发现在token校验里的有效期判断里,偶尔会出现token里的时间比Redis里存的时间大(正常应该是小于或等于的)。

进一步排查后发现我电脑的时间比服务器的时间慢了3秒左右导致的。

为什么是偶现,而不是必现呢?

由于我是本地代码连接线上的Redis服务,中间还有数据库查询,偶尔网络慢的时候刚好把这1秒多抹平了。


解决方法

  1. 进入系统设置-通用-日期与时间:

系统设置-通用-日期与时间

  1. 进入来源-设定:

来源-设定

  1. 设置时间服务器

原设置

阿里时间服务器IP:182.92.12.11

设置为阿里时间服务器IP

服务器查看时间的命令:
date

date命令运行效果:

date命令运行效果

mac系统同步时间的命令:
# 以下命令需要输入密码
sudo sntp -sS 182.92.12.11

sntp命令运行效果:

sntp

进一步思考

为什么时间会突然就慢了呢?

我想起近期我的魔法IP不太稳定,切过几次IP源。

是不是新的IP无法访问苹果的时间服务器呢?

于是去验证了一下:

# 运行同步时间的命令
# time.apple.com是苹果原装时间服务器
sudo sntp -sS time.apple.com

果然超时了(Exchange failed: Timeout):

运行同步时间的命令-效果

OK!破案!

福利

我发现有个网站可以很方便的检查电脑的时间是否和网络时间同步。

地址:
https://tools.manmankan.com/shijian/

网站截图

对比网站中框红的两个时间,相等的话你本地时间是OK的,不等的话就要调整啦。


关注"大虫小呓"(全网同名),第一时间获得更多技术干货。

这一篇就先水到这啦!下期见!

http://www.lryc.cn/news/618215.html

相关文章:

  • web应用服务器——Tomcat
  • Linux 常用命令大全:覆盖日常 99% 操作需求
  • A4.1:继C5.3引申的基极偏置的应用和发射极偏置的负反馈电阻讨论
  • STM32——GPIO
  • 嵌入式Linux进程管理面试题大全(含详细解析)
  • 嵌入式硬件——ARM
  • 从零开始之stm32之CAN通信
  • 1 JQ6500语音播报模块详解(STM32)
  • 棋牌室|台球|KTV|亲子|游戏|PS5等小程序接入美团核销教程,解决线下门店线上的流量!
  • Langflow 1.5:文档处理套件、Windows支持与用户体验提升
  • 4.7 GB 视频导致浏览器内存溢出(OOM)的解决方案
  • 小程序排名优化:功能迭代如何助力排名攀升
  • Python 爬虫获取淘宝商品信息、价格及主图的实战指南
  • 小程序排名优化:用户行为数据背后的提升密码
  • 从爬虫新手到DrissionPage实践者的技术旅程
  • Apache Shiro
  • Elasticsearch JavaScript 客户端「基础配置」全指南(Node/TS)
  • 7 种最佳 DBAN 替代方案,彻底擦除硬盘数据
  • ChatGpt 5系列文章1——编码与智能体
  • Go语言实战案例:使用模板渲染HTML页面
  • Go之封装Http请求和日志
  • mysql登录失败 ERROR1698
  • Elasticsearch Node.js 客户端连接指南(Connecting)
  • 实现一个二维码让 iOS 和 Android 用户自动跳转到对应下载链接
  • java面试题储备4: 谈谈对es的理解
  • 基于跨平台的svg组件编写一个svg编辑器
  • 【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)
  • 【门诊进销存出入库管理系统】佳易王医疗器械零售进销存软件:门诊进销存怎么操作?系统实操教程 #医药系统进销存
  • 需求分发机制如何设定
  • 飞算 JavaAI 电商零售场景实践:从订单峰值到供应链协同的全链路技术革新