[每周一更]-(第105期):SSL证书过期后引发的DNS缓存问题

在这里插入图片描述

问题回顾:

​ 上班路上收到ZeroSSL邮件通知我们清点项目的SSL证书到期了,到公司还是登录网址查看信息,一看果然是7.10也就是今天到期,开始看下acme.sh的定制任务为何没生效,一看crontab脚本,日志任务丢垃圾桶,没办法,手动更新,然后更新期间会报错:error code:35,好在不影响生成证书文件,就没理会,在具体项目中查看证书文件也更新最新文件,继续访问目标网址,发现直接DNS_PROBE_FINISHED_NXDOMAIN,无法访问,手机端访问也是502,在nginx重启时候还报错了前端配置文件问题,屏蔽相关代码,网站仍然不通,让前端本地跑项目反馈可以跑通(由于前端请求的API是目标域名的二级域名,所有不受影响,这期间还排查了管理端也是二级域名也能正常工作),再考虑应该还是域名解析DNS问题,后边想到之前该项目部署过阿里云waf,通过相关命令在服务器查看域名解析情况,果然域名CNAME还是WAF的地址,遗漏了这个环节,后边将域名解析的waf删除,重新重启nginx,至此项目正常可以访问。

从以上过程,可以总结我们针对问题的思路,如何发现问题,找到问题的因素,一一验证排查,期间由于WAF关闭较早,SSL证书没过期,没有及时排查到DNS解析的问题,其实中间还浪费了部分时间,针对该问题,以下相关知识点做个记录,为后来人起个指引作用,反观解决过程,其实问题点很简单,只是没有一开始及时发现。

具体细节流程

  • zeroSSL邮件提醒

在这里插入图片描述

  • 网站不通

在这里插入图片描述

  • acme重新生成证书

在这里插入图片描述

  • 前端项目中报错配置
    在这里插入图片描述

  • 查看域名解析地址

在这里插入图片描述

  • 查看阿里云中域名解析确实是waf地址

在这里插入图片描述

  • 删除waf,后正确解析IP

在这里插入图片描述

  • 网站恢复后颁发者信息

在这里插入图片描述

  • 查看nginx的状态:service nginx status,报错是前端配置文件中错误
nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) (Result: exit-code) since Wed 2024-07-10 09:53:48 CST; 23min ago
  Process: 1140 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 21695 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=1/FAILURE)
  Process: 1147 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 1143 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 1150 (nginx)
    Tasks: 5
   Memory: 12.0M
      CPU: 360ms
   CGroup: /system.slice/nginx.service
           ├─ 1150 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           ├─17920 nginx: worker process                           
           ├─17921 nginx: worker process                           
           ├─17922 nginx: worker process                           
           └─17923 nginx: worker process                           

Jul 10 09:59:15 k8s-node systemd[1]: nginx.service: Control process exited, code=exited status=1
Jul 10 09:59:15 k8s-node systemd[1]: Reload failed for A high performance web server and a reverse proxy server.
Jul 10 10:00:01 k8s-node systemd[1]: Reloading A high performance web server and a reverse proxy server.
Jul 10 10:00:01 k8s-node systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Jul 10 10:03:11 k8s-node systemd[1]: Reloading A high performance web server and a reverse proxy server.
Jul 10 10:03:11 k8s-node systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Jul 10 10:17:42 k8s-node systemd[1]: Reloading A high performance web server and a reverse proxy server.
Jul 10 10:17:42 k8s-node nginx[21695]: nginx: [emerg] host not found in upstream "www.varclear.com" in /etc/nginx/clinical/community_frontend.conf:37
Jul 10 10:17:42 k8s-node systemd[1]: nginx.service: Control process exited, code=exited status=1

SSL

针对SSL的排查过程

强制更新域名证书

Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 35

定时更新任务

0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

DNS

针对DNS的排查过程

检查域名状态

WHOIS查询:通过WHOIS查询工具检查域名的状态,确保域名没有过期或被锁定。
DNS Propagation:使用DNS传播检查工具(例如WhatsMyDNS)来确认DNS记录是否已正确传播到全球各地的DNS服务器。

检查和验证

清理DNS缓存后,可以使用 dig 或 nslookup 命令验证DNS解析是否正确:

dig yourdomain.com

或者

nslookup yourdomain.com

这些命令会返回DNS解析的详细信息,你可以检查输出是否符合预期。

额外的DNS调试工具

如果需要更多调试工具,可以安装并使用 bind-utils(包含 dig 和 nslookup 等工具):

sudo apt-get install bind9-utils  # Debian/Ubuntu
sudo yum install bind-utils       # CentOS/RHEL
sudo dnf install bind-utils       # Fedora

针对该项目访问遇到的问题,其中存在一些基础知识点的理解,需要单独写文章来讲解DNS及SSL的工作过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/796246.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【吊打面试官系列-ZooKeeper面试题】简述 Zookeeper 文件系统?

大家好,我是锋哥。今天分享关于 【简述 Zookeeper 文件系统?】面试题,希望对大家有帮助; 简述 Zookeeper 文件系统? Zookeeper 提供一个多层级的节点命名空间(节点称为 znode)。与文件系统不同的是,这些节…

centos安装minio文件系统服务器(踩坑版)

centos安装minio文件系统服务器(踩坑版) 引安装1. 下载2. 启动3. 创建access keys4. 创建buckets 坑 引 本来安装挺简单的,网上的教程一大堆,有些写的也挺详细的。不过自己还是踩到坑了,耽误了个把小时,特…

SpringBoot整合JWT示例教程

1. JWT简介 JSON Web Token (JWT) 是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为 JSON 对象安全地传输信息。由于这些信息是经过数字签名的,因此可以被验证和信任。JWT 通常用于身份验…

pycharm 占满磁盘

磁盘里没装什么大文件,发现磁盘被占的越来越满,使用工具查看到底是哪个文件如此之大。 发现罪魁祸首是pycharm!!! 根据工具的提示找到对应的路径文件:E:\pycharm\PyCharmCE2022.3\python_packages 发现pa…

敏捷开发笔记(第10章节)--Liskov原则(LSP)

目录 1:PDF上传链接 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.6 启发式规则和习惯用法 10.7 结论 1:PDF上传链接 【免费】敏捷软件开发(原则模式与实践)资源-CSDN文库 OCP背后的主要机制是抽象(abstraction…

linux进程周边知识——内核对硬件的管理——计算机世界的管理

前言:本节主要讲解内核也就是操作系统对于硬件的管理, 本节内容同样为进程的周边知识。 主要是关于软件方面, 和我的上一篇——冯诺依曼体系结构可以说是兄弟文章, 这篇文章主要是关于硬件方面。 两篇文章都是为学习进程做准备。但…

Java高频面试基础知识点整理11

干货分享,感谢您的阅读!背景​​​​​​高频面试题基本总结回顾(含笔试高频算法整理) 最全文章见:Java高频面试基础知识点整理 (一)Java基础高频知识考点 针对人员: 1.全部人员都…

Python 实现股票指标计算——BOLL布林线

1 公式 中轨线 N日的移动平均线,N一般取20 上轨线 中轨线 X倍的标准差,X一般取2 下轨线 中轨线-Y倍的标准差, Y一般取2 2 数据准备 我们以科创50指数 000688 为例,指数开始日期为2019-12-31,数据格…

Python - Word转TXT文本,或TXT文本转Word

Word文档(.doc或.docx)和纯文本文件(.txt)是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版,而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率,并便于…

学习笔记——动态路由——IS-IS中间系统到中间系统(特性之路由渗透)

4、路由渗透 IS-IS中Level-1-2路由器是连接Level-1区域与骨干网络的桥梁,它会将到达所在Level-1区域的路由信息通过Level-2 LSP通告到骨干网络,从而让其他的Level-1-2或Level-2路由器学习到相关路由,然而缺省时它却并不将到达其他Level-1区域的路由信息以及到达Lev…

《昇思25天学习打卡营第15天|计算机视觉-SSD目标检测》

FCN图像语义分割&ResNet50迁移学习&ResNet50图像分类&ShuffleNet图像分类&SSD目标检测 SSD目标检测 模型简介 SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法。使用Nvidia Titan X在VOC 2007测…

Kithara与OpenCV (二)

Kithara使用OpenCV QT 进行特征检测 目录 Kithara使用OpenCV QT 进行特征检测OpenCV 特征检测简介Qt应用框架简介项目说明关键代码抖动测试测试平台:测试结果:结论 OpenCV 特征检测简介 OpenCV是一个开源的计算机视觉库,提供了各种图像处理…

Web开发 —— 放大镜效果(HTML、CSS、JavaScript)

目录 一、需求描述 二、实现效果 三、完整代码 四、实现过程 1、HTML 页面结构 2、CSS 元素样式 3、JavaScript动态控制 (1)获取元素 (2)控制大图和遮罩层的显隐性 (3)遮罩层跟随鼠标移动 &…

麦克风设计指南

前言: 本指南基于乐鑫的 ESP32-S3 系列语音开发板。 整机 mic 要求 麦克风电器性能推荐 麦克类型:全向型 MEMS 麦克风 SMD-4P,2.8x1.9mm MEMS 麦克风 顶视图 MEMS 麦克风 底视图 灵敏度 1 Pa 声压下模拟麦灵敏度不低于 -38 dBV,数字麦灵…

CSS技巧专栏:一日一例 5-纯CSS实现背景色从四周向中心填充的按钮特效

特此说明 本专题专注于讲解如何使用CSS制作按钮特效。前置的准备工作和按钮的基本样式,都在本专栏第一篇文章中又详细说明。自本专栏第四篇文章起,本专栏都将直接跳过前面的内容,不再重复复制,需要了解按钮基础样式的同学,请移步:《CSS技巧 - 一日一例 (1):会讨好的热…

全渠道AI智能商品管理软件平台 助力零售品牌占领技术高地

关于7thonline第七在线 1999年创立于纽约,7thonline第七在线全渠道AI智能商品管理平台,以先进的数学算法模型、人工智能和机器学习技术为核心驱动力,融合了众多零售商品管理的卓越实践经验,精心打造出一套深度适配零售业务场景的自…

微信小程序---npm 支持

一、构建 npm 目前小程序已经支持使用 npm 安装第三方包,但是这些 npm 包在小程序中不能够直接使用,必须得使用小程序开发者工具进行构建后才可以使用。 为什么得使用小程序开发者工具需要构建呢❓ 因为 node_modules 目录下的包,不会参与…

PG大会周五于杭州举办;Pika发布4.0;阿里云MySQL上线Zero-ETL集成能力

重要更新 1. PostgreSQL中国技术大会举行12日(周五)于杭州举办,是PostgreSQL社区年度的大会,举办地点:杭州君尚云郦酒店(杭州市上城区临丁路1188号),感兴趣的可以考虑现场参加 ( [1]…

git常用命令及git分支

git常用命令及git分支 git常用命令设置用户签名初始化本地库查看本地库状态将文件添加到暂存区提交到本地库查看历史记录版本穿梭 git分支什么是分支分支的好处分支的操作查看分支创建分支切换分支删除分支合并分支合并冲突 git常用命令 设置用户签名 //设置用户签名 git con…