网络与 HTTPS
共 155 篇文章
Nginx 把 PHP-FPM 接口的 500 JSON 换成 HTML 错误页
PHP 接口已经返回状态码 500 和 JSON 错误内容,客户端收到的却是站点统一的 HTML 错误页。正常请求仍是 JSON,只有失败请求被替换时,应核对处理该接口的 fastcgi_intercept_errors 和 error_page,而不是给 HTML 强行加一个 JSON 类型。
Unbound DoT 断电后解析失败:先核对时钟与证书有效期
断电重启后 Unbound DoT 解析失败,先核对 UTC 与证书有效期,再检查校时服务、启动依赖和有条件的 Chrony 跳变,保留上游身份验证。
rsync 经 SSH 报 protocol version mismatch:远端启动脚本输出污染协议
远端 Bash 启动脚本打印欢迎语时,rsync 的 SSH 协议流可能混入额外字节。用无输出命令定位,再把交互提示限制到交互 shell,保留远程任务需要的环境。
Nginx 把 proxy_pass 改成变量后返回 502:no resolver defined to resolve
固定域名代理正常,改成变量后 502:配置可解析内部域名的 resolver,并核对变量形式是否改变了接口路径。
HAProxy 健康检查返回 400:HTTP/1.1 请求需要正确的 Host
HAProxy 健康检查 HTTP/1.1 返回 400,比较检查端口、方法、路径和 Host;使用明确发送规则,保留真实就绪判定。
HAProxy 同一主机不同端口只一个 UP:检查 DNS 地址去重
HAProxy 动态 DNS 返回一个地址,同主机不同端口却只一个 server 可用。确认确实需要共享地址后使用 allow-dup-ip,并核对业务流量。
Cloudflare 525 与 526:按域名、握手和证书分开排查
从网友误访旧子域名的 525 案例出发,区分握手失败与证书验证失败,保留 SNI、证书链、签发日志及配置恢复的检查路径。
Nginx proxy_cache 连续 MISS:响应和配置都没有缓存有效期
核对上游响应的有效期与缓存限制,为确认公开的 200 响应设置有限 TTL,并验证命中、身份隔离和内容更新行为。
Nginx 代理 /api/ 返回 404,直接访问后端接口正常
后端 /users 正常,经过 Nginx 的 /api/users 却返回 404,可通过实际请求路径判断是否多保留了 /api/ 前缀。说明 proxy_pass 有无 URI 的区别、末尾斜杠的替换规则,以及 /api 入口的跳转和加载验收。
SSH 指定 -i 后仍报 Too many authentication failures
SSH 指定私钥后仍因 agent 提供多把身份而提前断开,通过调试日志和有效配置确认尝试集合,按主机限定身份并保留其他连接。
Nginx 容器反向代理出现 502:localhost 指向了哪里
宿主机能访问后端,Nginx 容器却返回 502?结合网友的 Nextcloud 案例,区分宿主机与容器 localhost,核对内部端口和共同网络。
通配符证书带根域后 CAA 拒绝:核对 issue 和 issuewild
通配符订单同时包含根域时,issuewild 允许与 issue 禁止可能导致 CAA 拒绝。对照订单名称、实际权威记录及授权策略再调整。
Certbot 续期无法绑定 80 端口:检查 standalone 验证与现有服务
Certbot 续期仍使用 standalone,与 Nginx 占用 80 冲突。核对证书验证器、监听者及 hooks,按版本保存新续期配置。
Nginx 配置 http2 on 后报 unknown directive "http2"
独立 http2 指令从 Nginx 1.25.1 开始提供。核对实际运行版本和 HTTP/2 模块,按旧版兼容语法或升级后的配置处理,并在重载前验证。


