📖
mabutou's wiki
  • About
  • 🤖Linux
    • 常规日志ip统计
    • traefik 生成 htpasswd
    • 日志查询
      • 按时间筛选跨行日志
      • 文本搜索 Ripgrep
      • goaccess 解析日志文件
      • ripgrep 筛选指定时间范围日志
    • 根据端口号,找到对应进程
    • Centos 7
      • centos7 安装 MySQL 客户端
    • Ubuntu
      • 清理ubuntu磁盘空间
    • dpkg: warning: files list file for package 'x' missing
    • 转发本地代理到服务器
    • 50 Most Frequently Used UNIX
    • 僵尸进程
    • 查看大文件
    • install xrdp
    • locales error
    • OpenSSH Slow: Hanging at SSH2_MSG_SERVICE_ACCEPT received
    • shell 命令按次数输出v2访问日志的 ip 统计
    • ssh 端口转发脚本
    • shell proxy
    • firewall-cmd
    • mout webdav
    • du 命令
    • Unable to set locale
    • tar分卷压缩与解压缩
    • 合并目录下所有文件内容
    • rsync command
    • journal 日志大小限制
    • add swapfile
    • LVM manage
    • Linux logrotate
    • new user && group
    • Nginx 开启OCSP装订
    • 删除指定时间区间内的文件
    • 群晖初始化
    • ubuntu 内核升级脚本
    • curl 请求带有用户名和密码的 url
  • 🐬Front-end
    • 清理yarn/npm本地缓存
  • ❄️ K8S
    • 批量删除failed pod
    • 镜像批量打标签并推送
    • basic command
    • busybox 解析 pod ip
    • kubectl set node label
    • set pod's image version
    • k8s proxy
    • Force delete POD
  • 🐳Docker
    • 根据进程pid查看该进程所属的容器
    • docker pull 设置下载线程数
    • 查看数据卷目录
    • delete dangling images
    • install docker-compose
    • 按关键词停止容器
    • 限制&&清除容器日志
    • docker images 按大小排序镜像
    • 实时截取日志
    • 查询容器ip
    • 配置镜像加速
    • df 排除 多余文件系统
    • docker copy file from image to host && prune container
  • 🐮Rancher
    • 重置admin 密码
    • 卸载
  • 🐍Python
    • start a simple http_server
  • 🍎Mac
    • MacOS 浏览器播放音频没声音
    • mac 执行sed -i指令时,提示extra characters at the end of command
    • 创建 macOS U盘启动盘
    • Tmux 启动时 127 错误
    • Kill Apple Remote Desktop via ssh
    • hack wechat sqlite
    • 刷新 DNS
    • masscan 端口扫描
    • start apache_server
    • timemachine list and clean
    • dmg || .app 提示文件已损坏
    • 重启 Dock 栏
    • macOS(BSD system) 禁用 ssh 密码登录
  • 🖥️Windows
    • 命令行获取电脑的序列号
    • enable windows ping icmp
    • 关闭休眠模式
    • 卓越性能模式
  • ⌨️ Cheatsheet
    • VIM
    • Bash
    • Git
      • github init
      • Git 变更默认分支名
      • Git 大小写问题
    • Tmux
    • ffmpeg
  • Application
    • chrome 清除 dns && https 缓存
  • 正则表达式
    • basic
    • regular expression
  • Proxmox
    • stop pve
  • VMware
    • 虚拟机设置静态ip, Vmware 虚拟机配置全攻略 - 少数派
  • Hetzner
    • hz 单ip 独服 安装 proxmox 后网卡配置
    • hetzner_box
  • Oracle-Cloud-ARM
    • 修改引导卷大小
  • 镜像源
    • pip 清华源
    • ubuntu 阿里云镜像
    • centos 阿里云镜像
    • npm 淘宝镜像
由 GitBook 提供支持
在本页
  • OCSP简介
  • 解决因网络问题导致的OCSP校验失败
  • Nginx开启OCSP装订
  • Let's Encrypt补充

这有帮助吗?

  1. Linux

Nginx 开启OCSP装订

OCSP简介

全称为 Online Certificate Status Protocol, 是通用的数字证书在线状态查询协议。大多数客户端、浏览器都会在访问HTTPS网站时查询证书的OCSP状态,以进一步确保访问者的安全性。比如 火狐浏览器(FireFox),就默认校验所有的公开信任证书的OCSP状态。只有通过OCSP校验,FireFox才会正常打开您的网站。

由于 OCSP 校验失败而导致的客户端无法连接情况会有很多,不仅只反应在浏览器端。如果您为移动 APP 的接入使用了双向验证,且每次接入都校验服务器证书的有效性。还比如您为您的 API 服务器接入开启了严格SSL验证模式,即每次对接API时都校验服务器证书的有效性。等等此类环境下,一旦您的客户端网络连接OCSP服务器出现问题,都有可能导致您的服务中断。因为客户端的网络情况是复杂的,多变的,甚至不可预估的。

就最近Let's Encrypt的一个OSCP域名ocsp.int-x3.letsencrypt.org被污染,解析到了以31开头的FaceBook的IP或者其他被墙IP,而不是使用Akamai CDN的Let's Encrypt的OSCP服务器上。导致国内的服务器无法正常申请和续期Let's Encrypt的免费证书,以及访问速度变慢。

解决因网络问题导致的OCSP校验失败

OCSP装订 可以很好的作为OCSP查询协议的替代方案,也是目前 Mozilla基金会推崇实施的一种在线证书查询协议扩展。它能够利用您的服务器网络为客户端、浏览器提供证书状态查询服务。用户如果能够访问您的网站,就能够通过您的网站服务器查询到证书的状态。因此,为了更好的为您的用户提供加密的网站访问和接入服务,您应该为您的每一个安装SSL证书的服务器开启OCSP装订。

Nginx开启OCSP装订

以使用acme.sh申请的Let's Encrypt证书为例,证书会存放在~/.acme.sh/example.com文件夹下,下面有这两个文件:

  • fullchain.cer

  • example.com.key

编辑Nginx配置文件,在server大括号中加入以下内容:

ssl_certificate /[用户名]/.acme.sh/example.com/fullchain.cer; #证书路径
ssl_certificate_key /[用户名]/.acme.sh/example.com/example.com.key; #私钥路径
ssl_stapling on; #开启OCSP
ssl_stapling_verify on; #开启OCSP验证
ssl_trusted_certificate /[用户名]/.acme.sh/xmgspace.me/fullchain.cer; #证书链路径

编辑完成保存之后重启Nginx使其生效。

Let's Encrypt补充

另外国内服务器使用Let's Encrypt证书的建议修改hosts以避免DNS污染,国外服务器不需要。在hosts中添加一条ocsp.int-x3.letsencrypt.org的记录,将其指向下面其中一个,香港的Akamai CDN,国内访问速度不错:

175.45.42.209
175.45.42.217
上一页new user && group下一页删除指定时间区间内的文件

最后更新于4年前

这有帮助吗?

🤖