端口明明开着,为什么就是访问不了

端口明明开着,为什么就是访问不了

服务已经启动,ss 也能看到 LISTEN,本机 curl 甚至完全正常,但从外面就是访问不了。问题往往不在“端口开没开”这一件事上,而在监听地址、安全组、系统防火墙、Docker 端口映射、反向代理这条链路中的某一层。本文按请求真正经过的路径排查一次。

SQL 慢了,先别急着加索引

遇到慢 SQL,很多人的第一反应是“加索引”。但索引只是给优化器多了一条路,它不保证数据库会走,更不保证走了就更快。本文从 PostgreSQL 的执行计划出发,把 Seq Scan、Index Scan、Bitmap Heap Scan、选择性、回表、联合索引和统计信息串起来。

SQL 慢了,先别急着加索引
别再用 nohup 了:把你的程序交给 systemd——开机自启、崩溃重启、日志与安全加固

别再用 nohup 了:把你的程序交给 systemd——开机自启、崩溃重启、日志与安全加固

程序在 SSH 断开后还能跑,只是“活着”;真正作为服务器服务运行,还要解决开机自启、异常重启、日志、权限、配置与安全边界。本文从零把一个普通可执行程序交给 systemd 管理,并给出一套可以直接改名复用的生产配置。

AI Agent 开始替你“动手”之后:它到底凭什么拥有权限?

Chatbot 时代,我们担心 AI 会不会说错;Agent 时代,更危险的问题是:它说错之后会不会顺手把事情做了。当模型接上数据库、邮箱、GitHub、Shell 和 MCP,身份、委托、最小权限、短期凭证与审计链就不再是可选项。

AI Agent 开始替你“动手”之后:它到底凭什么拥有权限?
AI Agent 接的工具越多,它真的就越强吗?

AI Agent 接的工具越多,它真的就越强吗?

给 Agent 接上 GitHub、数据库、Shell、邮箱、浏览器和几十个 MCP 服务,看起来能力越来越强。但工具越多,也意味着上下文更拥挤、选择更困难、误调用更多、权限爆炸更严重。真正成熟的 Agent,不是“什么都能用”,而是“需要什么时,只看见什么”。

Agent Skill 会不会成为下一种供应链攻击?它其实已经开始了

Agent Skill 不只是几段提示词。它可以携带脚本、依赖和外部指令,并借用 Agent 的 Shell、文件、网络与 MCP 权限执行任务。当“可复用能力”开始像包一样分发,供应链风险也随之到来。

Agent Skill 会不会成为下一种供应链攻击?它其实已经开始了
RAG 为什么还会一本正经地胡说?从检索到生成拆开看

RAG 为什么还会一本正经地胡说?从检索到生成拆开看

给大模型接上知识库,并不等于它就获得了“事实约束”。RAG 只是把外部资料送进上下文,检索、切块、排序、冲突处理和生成中的任何一环出错,都可能让模型带着证据一本正经地胡说。

微服务到底解决了什么,又制造了什么?

微服务可以换来独立发布、独立扩缩容和清晰的团队边界,但代价是网络、数据一致性、可观测性、部署和测试复杂度。真正值得问的,从来不是“要不要微服务”,而是“我到底有什么问题,值得用分布式系统来解决”。

微服务到底解决了什么,又制造了什么?
密钥泄露以后,删掉 GitHub 提交为什么还不够

密钥泄露以后,删掉 GitHub 提交为什么还不够

一次 API Key、云密钥或数据库密码泄露后,真正要处理的远不止那一行 Git 提交。本文从撤销与轮换、Git 历史、CI 日志、Docker 镜像层、权限收缩和后续审计讲清完整处置流程。

SSH 改个端口就算加固?一台 Linux 服务器上线前我会检查这些东西

一台刚装好的 Linux 服务器能登录、能跑 Docker,并不代表已经适合放到公网。本文从 SSH、账号、防火墙、Fail2ban、Docker 端口、更新、日志和备份出发,整理一套真正能落地的上线前安全基线。

SSH 改个端口就算加固?一台 Linux 服务器上线前我会检查这些东西