Hi there 👋

知识整理与记录
nginx-logo

使用OCSP Stapling Proxy加速NGINX网站响应

OCSP Stapling 什么是 OCSP Stapling OCSP装订(英语:OCSP Stapling),正式名称为TLS证书状态查询扩展,可代替在线证书状态协议(OCSP)来查询X.509证书的状态。服务器在TLS握手时发送事先缓存的OCSP响应,用户只需验证该响应的有效性而不用再向数字证书认证机构(CA)发送请求。 存在问题 如上所述,当用户请求网站时,需要进行OCSP查询来确定证书状态。然而 let’s encrypt 服务器并不在国内,访问速度慢,且域名记录容易被污染,就有可能造成 访问速度慢造成打开网页卡顿一段时间后才能顺利访问网站 域名、ip被污染或者墙,则无法打开网站 如何解决 使用OCSP装订在服务端直接查询证书状态,并将结果一并返回给客户端,用户不再需要主动访问ocsp服务器检查证书。 简单开启 OCSP Stapling 增加NGINX装载配置 1 2 3 ssl_stapling on; resolver 223.5.5.5 114.114.114.114 valid=300s; resolver_timeout 5s; 在http或者server增加以上配置,则已经开启了OCSP装订功能。 检查装订效果 检查命令 1 2 HOST="www.example.com" openssl s_client -connect ${HOST}:443 -servername ${HOST} -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response" 检查结果 注意,您可能需要多次请求才能得到已装订的结果,这取决于nginx的woker数量 未装订 1 OCSP response: no response sent 已经装订 1 2 3 4 OCSP response: OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response 使用OCSP代理 还存在的问题 通常,简单开始nginx OCSP Staping 功能已经满足大多数用户的需求,但是还可能存在以下问题:...

July 24, 2024 · 1 min · 141 words · WANG
redis-logo

使用scan进行redis数据迁移

hashmap复制 有时新的redis集群并不需要全部的数据,只需要复制一部分数据到另一个redis集群,且这些数据更新并不频繁。 执行命令 1 2 3 4 5 6 nohup ./redis-cluster-migrate \ -s 172.18.206.144:7001,172.18.206.144:7002,172.18.83.165:7003,172.18.83.165:7004,172.18.25.248:7005,172.18.25.248:7006 \ -d 172.16.0.11:7001,172.16.0.11:7002,172.16.0.22:7003,172.16.0.22:7004,172.16.0.33:7005,172.16.0.33:7006 \ -m "token:*" \ -i 500 \ -t 100 & 完整代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 package main import ( "context" "flag" "log" "strings" "sync" "time" "github....

June 28, 2024 · 3 min · 453 words · WANG
lego logo

使用lego为群晖自动续期https证书

安装lego 下载 在github获取相应平台软件 lego release 解压安装 为了方便使用,将解压的lego二进制文件复制到/usr/local/bin/ 创建更新任务 新建脚本文件 保存脚本文件到你喜欢的位置,本例中保存至/volume1/data/cert/cert_auto_renew.sh,脚本使用cloudflare dns演示,查看更多dns服务商 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/bin/bash export CLOUDFLARE_DNS_API_TOKEN=* # 此处替换为本人的token DOMAIN="nas.wangyanzu.com" # 此处替换为本人nas域名 LEGO_CERT_PATH=".lego/certificates" SYNOLOGY_CERTIFICATE_PATH="/usr/syno/etc/certificate" SYNOLOGY_DEFAULT_CERTIFICATE_NAME=$(cat "${SYNOLOGY_CERTIFICATE_PATH}/_archive/DEFAULT" | tr -d "\n") SYNOLOGY_DEFAULT_CERTIFICATE_PATH="${SYNOLOGY_CERTIFICATE_PATH}/_archive/${SYNOLOGY_DEFAULT_CERTIFICATE_NAME}" # 申请域名 lego --email [email protected] --dns cloudflare --domains $DOMAIN run # 部署证书 /bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}.crt' ${SYNOLOGY_DEFAULT_CERTIFICATE_PATH}/fullchain.pem" /bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}.crt' ${SYNOLOGY_DEFAULT_CERTIFICATE_PATH}/cert.pem" /bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}....

June 27, 2024 · 1 min · 89 words · WANG