// paginated posts

const page = 13

const article = {
  title: "SSH 免密登录失败:authorized_keys 权限过宽导致 StrictModes 拒绝密钥认证",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-0000-ssh-strictmodes-authorized-keys"
}

export default article
const article = {
  title: "SSH 免密登录失败:authorized_keys 权限过宽导致 StrictModes 拒绝密钥认证",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-0000-ssh-strictmodes-authorized-keys"
}

export default article
article.tsexport default
publishedAt2026.09.07

const article = definePost()

SSH 免密登录失败:authorized_keys 权限过宽导致 StrictModes 拒绝密钥认证

部署服务器时,为了能让 CI/CD 脚本免密 SSH 登录执行命令,按标准流程配置了 SSH 密钥认证:

readMore()
const article = {
  title: "Nginx 反向代理 404:proxy_pass 不带尾斜杠把 /api 前缀转发给后端",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-0807-nginx-proxy-pass"
}

export default article
const article = {
  title: "Nginx 反向代理 404:proxy_pass 不带尾斜杠把 /api 前缀转发给后端",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-0807-nginx-proxy-pass"
}

export default article
article.tsexport default
publishedAt2026.09.07

const article = definePost()

Nginx 反向代理 404:proxy_pass 不带尾斜杠把 /api 前缀转发给后端

架构:前端 SPA → Nginx (80) → Node.js API (3000)。后端路由**不带** `/api` 前缀(如 `/hello`、`/users`、`/health`),前端统一通过 `fetch('/api/hello')` 经 Nginx 反代调用。

readMore()
const article = {
  title: "Go HTTP 服务 goroutine 泄漏:请求超时后后台 goroutine 永久阻塞(channel 发送阻塞)",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-1611-go-goroutine-leak"
}

export default article
const article = {
  title: "Go HTTP 服务 goroutine 泄漏:请求超时后后台 goroutine 永久阻塞(channel 发送阻塞)",
  publishedAt: "2026.09.07",
  tags: [],
  href: "/blogs/2026-09-07-1611-go-goroutine-leak"
}

export default article
article.tsexport default
publishedAt2026.09.07

const article = definePost()

Go HTTP 服务 goroutine 泄漏:请求超时后后台 goroutine 永久阻塞(channel 发送阻塞)

生产环境 Go HTTP API 服务内存持续增长直至 OOM。用户请求 `/api/search` 接口,每次请求都设置 1 秒 context 超时,后台 goroutine 执行耗时的数据库查询(实际 2 秒),查询完成后将结果发送到**无缓冲 channel**。handler 因超时 1 秒先返回并退出,

readMore()
const article = {
  title: "AI日报 2026-09-07",
  publishedAt: "2026.09.07",
  tags: ["朕喜技术","科技资讯","人工智能"],
  href: "/blogs/ai-daily-2026-09-07"
}

export default article
const article = {
  title: "AI日报 2026-09-07",
  publishedAt: "2026.09.07",
  tags: ["朕喜技术","科技资讯","人工智能"],
  href: "/blogs/ai-daily-2026-09-07"
}

export default article
article.tsexport default
publishedAt2026.09.07

const article = definePost()

AI日报 2026-09-07

今日内容以产品更新、行业动态与研究进展为主,重点关注大模型与工具链演进。

朕喜技术科技资讯人工智能
readMore()
const article = {
  title: "curl 连不上 localhost:HTTP_PROXY 环境变量劫持本地请求",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-0000-curl-proxy-hijack"
}

export default article
const article = {
  title: "curl 连不上 localhost:HTTP_PROXY 环境变量劫持本地请求",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-0000-curl-proxy-hijack"
}

export default article
article.tsexport default
publishedAt2026.09.06

const article = definePost()

curl 连不上 localhost:HTTP_PROXY 环境变量劫持本地请求

在配置了 HTTP 代理的开发环境或 CI 容器中,环境变量里被注入了不可达的代理地址:

readMore()
const article = {
  title: "MySQL 隐式类型转换导致索引失效:WHERE phone = 整数 全表扫描、VARCHAR 列被转数值",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-0800-mysql-implicit-type-conversion-index-invalid"
}

export default article
const article = {
  title: "MySQL 隐式类型转换导致索引失效:WHERE phone = 整数 全表扫描、VARCHAR 列被转数值",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-0800-mysql-implicit-type-conversion-index-invalid"
}

export default article
article.tsexport default
publishedAt2026.09.06

const article = definePost()

MySQL 隐式类型转换导致索引失效:WHERE phone = 整数 全表扫描、VARCHAR 列被转数值

团队维护的用户中心服务,核心表 `users` 有 20 万条用户数据。`phone` 字段定义为 `VARCHAR(20)` 并建立了索引 `idx_phone`。开发反馈「按手机号查用户特别慢」,但**同一个 SQL,就差一对引号**,性能天差地别:

readMore()
const article = {
  title: "Docker entrypoint 报错 no such file or directory:CRLF 行尾符问题",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-1611-crlf-entrypoint-no-such-file-or-directory"
}

export default article
const article = {
  title: "Docker entrypoint 报错 no such file or directory:CRLF 行尾符问题",
  publishedAt: "2026.09.06",
  tags: [],
  href: "/blogs/2026-09-06-1611-crlf-entrypoint-no-such-file-or-directory"
}

export default article
article.tsexport default
publishedAt2026.09.06

const article = definePost()

Docker entrypoint 报错 no such file or directory:CRLF 行尾符问题

在 Windows 上用编辑器编写了一个 `entrypoint.sh` 脚本并提交到 Git 仓库。构建 Docker 镜像后,用 `docker compose up` 启动容器,**容器瞬间退出**。查看日志,只有一行令人困惑的报错:

readMore()
const article = {
  title: "AI日报 2026-09-06",
  publishedAt: "2026.09.06",
  tags: ["朕喜技术","科技资讯","人工智能"],
  href: "/blogs/ai-daily-2026-09-06"
}

export default article
const article = {
  title: "AI日报 2026-09-06",
  publishedAt: "2026.09.06",
  tags: ["朕喜技术","科技资讯","人工智能"],
  href: "/blogs/ai-daily-2026-09-06"
}

export default article
article.tsexport default
publishedAt2026.09.06

const article = definePost()

AI日报 2026-09-06

GPT-6 Astra分批上线,循环Transformer技术引发热议;谷歌、xAI等密集发布产品;世界模型成AI下半场焦点,中国公司获硅谷老将投资;多项开源模型与强化学习研究进展。

朕喜技术科技资讯人工智能
readMore()
const article = {
  title: "Docker named volume 非 root 用户 Permission denied 解决",
  publishedAt: "2026.09.05",
  tags: ["Docker permission denied","docker non-root user","named volume owner root"],
  href: "/blogs/2026-09-05-0008-docker-permission"
}

export default article
const article = {
  title: "Docker named volume 非 root 用户 Permission denied 解决",
  publishedAt: "2026.09.05",
  tags: ["Docker permission denied","docker non-root user","named volume owner root"],
  href: "/blogs/2026-09-05-0008-docker-permission"
}

export default article
article.tsexport default
publishedAt2026.09.05

const article = definePost()

Docker named volume 非 root 用户 Permission denied 解决

Docker 容器以**非 root 用户**(如 `appuser` uid=1000)运行,数据目录 `/data/uploads` 挂载了 **named volume**。应用写入文件时报:

Docker permission denieddocker non-root usernamed volume owner root
readMore()
const article = {
  title: "并发 Worker 崩溃 can't start new thread:RLIMIT_NPROC 隐藏限制排查",
  publishedAt: "2026.09.05",
  tags: [],
  href: "/blogs/2026-09-05-0825-can-not-start-new-thread-rlimit-nproc"
}

export default article
const article = {
  title: "并发 Worker 崩溃 can't start new thread:RLIMIT_NPROC 隐藏限制排查",
  publishedAt: "2026.09.05",
  tags: [],
  href: "/blogs/2026-09-05-0825-can-not-start-new-thread-rlimit-nproc"
}

export default article
article.tsexport default
publishedAt2026.09.05

const article = definePost()

并发 Worker 崩溃 can't start new thread:RLIMIT_NPROC 隐藏限制排查

并发调度服务在任务高峰崩溃,Python 报 RuntimeError: can't start new thread。本文用 Docker 压低 ulimits nproc 复现,讲清 RLIMIT_NPROC 按 UID 全局统计线程的隐藏机制,给出 ulimit、cgroup 与改用线程池的修复方案。

readMore()
// showing 121-130 of 281 posts