可观测学堂

可观测问答

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

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

如何检查服务器是否开启了 gzip 压缩

用 GET 请求检查 Content-Encoding: gzip,并区分单个响应与全站压缩。提供 curl 传输大小对比、浏览器检查及 Nginx/Apache 配置示例。

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

如何把不同子域名转发到同一服务器的不同端口

用 Apache 的 VirtualHost + ProxyPass(或 Nginx 的 server 块 + proxy_pass)按域名把请求反向代理到本机不同端口,用户访问 app.example.com 实际由 8080 端口服务。附完整配置与 WebSocket 处理。

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

Apache 的 ServerName 与 ServerAlias 怎么工作

ServerName 定义虚拟主机的主域名,ServerAlias 列出附加域名(支持泛域名)。Apache 按请求 Host 头匹配两者决定用哪个 VirtualHost 响应;都不匹配时用第一个 VirtualHost 兜底。

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

如何让 Git 自动设置上游分支(免去 --set-upstream)

git config --global push.autoSetupRemote true 让首次 push 自动建立上游跟踪,新分支直接 git push 即可。Git 2.37+ 推荐此方案;另附 push.default current 的替代配置。

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

Python 如何在一行中捕获多个异常

用 except (ExceptionA, ExceptionB) as e 捕获多种异常,兼容各 Python 3 版本。Python 3.14 起不绑定异常时可省略括号;处理不同仍应拆分 except。

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

如何修改 Git 远程仓库的 URL

用 git remote set-url origin 新URL 即可修改远程地址,git remote -v 验证。适用于仓库迁移、HTTPS 与 SSH 互切等场景,本地提交历史与分支不受影响。

数据整理与查询插画
技术指南

Pandas 如何检查 NaN 值

用 df.isna()(等价 isnull())返回布尔矩阵;配合 any()/sum() 回答"有没有""有多少""在哪列"。附统计、定位、筛选 NaN 行的完整用法。

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

Python 如何不抛异常地检查文件是否存在

os.path.exists() 或 Path.is_file() 可检查路径,is_file 区分普通文件和目录。返回 False 也可能意味着不可访问;检查后读取仍需处理竞态和权限错误。

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

Windows 如何配置 DNS 别名访问文件共享

Windows 域内 SMB 别名不仅要解析成功,还要匹配计算机身份与 Kerberos SPN。优先按 Microsoft 建议使用 netdom computername 添加别名,而不是关闭名称校验。

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

如何把 PEM 文件拆分为 CRT 证书和 KEY 私钥

openssl pkey -in file.pem -out private.key 提取私钥,openssl x509 -in file.pem -out certificate.crt 提取证书。本文讲清 PEM 的结构、拆分命令与格式验证方法。

容器模块与编排港口插画
技术指南

Dockerfile 中如何用 ADD 命令复制目录

ADD 与 COPY 都可将构建上下文目录的内容复制进镜像。本地复制优先 COPY;ADD 还支持压缩包及远程资源,使用时核对校验和、版本和权限。

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

Filebeat/ELK 如何为不同日志配置不同的索引

Filebeat 给不同日志源打自定义字段(fields.type),Logstash 用条件判断路由到不同 ES 索引。本文给出 filebeat.yml 与 logstash.conf 的分流配置片段。