可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

版本分支与历史整合插画
技术指南

Logstash 如何记录日志来自输入文件的第几行

Logstash file input 不提供真实文件行号。单 worker Ruby 计数器只能生成本次处理的事件序号;断点续读、轮转、多行合并均会影响其含义,不能冒充物理行号。

加密网络与通信桥梁插画
技术指南

同一 IP 上如何为多个域名配置 SSL

SNI 让同一 IP:443 按域名选择 HTTPS 证书,也可用覆盖多个名称的 SAN 证书。介绍 Nginx/Apache 配置片段、默认证书与域名验证边界。

加密网络与通信桥梁插画
技术指南

CSR 必须在部署证书的服务器上生成吗

CSR 不必在部署证书的服务器上生成;关键是私钥受控、证书公钥匹配。说明本机、集中密钥管理与 HSM 场景,以及安全传输和 SAN 配置。

应用程序模块协作插画
技术指南

NET::ERR_CERT_COMMON_NAME_INVALID 怎么解决

该错误表示证书的域名列表(SAN)不包含你访问的域名。排查:对比证书 SAN 与访问域名、检查 www 与非 www 是否都覆盖、DNS 是否指错服务器。附站长修复与用户侧应对。

应用程序模块协作插画
技术指南

nvm 有哪些替代工具

比较 fnm、asdf、n、nodenv 与 Volta 的 Node 版本管理方式、平台支持和项目配置。Volta 已宣布停止维护;本文依据官方资料,不提供速度排名。

应用程序模块协作插画
技术指南

安装 nvm 后提示 "nvm: command not found" 怎么解决

nvm 是 shell 函数不是可执行文件,必须在 shell 配置里 source nvm.sh 才能用。检查 ~/.bashrc 或 ~/.zshrc 是否有三行加载代码,新开终端或 source 生效。

加密网络与通信桥梁插画
技术指南

Nginx 报错 (13: Permission denied) 连接上游失败怎么解决

Nginx 连接上游被拒绝时,区分 Unix socket 路径权限与 SELinux/AppArmor 等策略。先核对用户、目录和审计证据,再最小化授权,不盲目放宽权限。

并发任务的多路径协同插画
技术指南

pip 安装报 "SSL: CERTIFICATE_VERIFY_FAILED" 怎么解决

pip TLS 证书验证失败应检查时间、服务端链、系统及 pip 信任库;企业环境用核验过的 CA 配置 PIP_CERT。保持验证开启,不用 trusted-host 安装依赖。

测试检测与质量验证插画
技术指南

Playwright 如何检查元素是否存在

断言行首选 expect(locator).toBeVisible() / toBeAttached()(自动等待);逻辑分支用 locator.count() 或 isVisible()。本文讲清"存在、可见、可交互"三种语义的区别与选择。

测试检测与质量验证插画
技术指南

Playwright 如何检查元素的值

输入框值用 expect(locator).toHaveValue()(支持正则);多选 select 用 toHaveValues();非表单元素的文本用 toHaveText()。区分 value 与 textContent 是关键。

测试检测与质量验证插画
技术指南

Playwright 如何获取元素属性

locator.getAttribute('属性名') 读取属性值;断言用 expect(locator).toHaveAttribute('属性名', '值')。属性不存在时 getAttribute 返回 null,注意与空字符串区分。

测试检测与质量验证插画
技术指南

Playwright 如何获取当前页面 URL

page.url() 同步返回当前 URL 字符串(不用 await);断言导航用 await expect(page).toHaveURL(/pattern/) 自动等待。附提取参数与等待导航完成的技巧。