Mandel's Tech Blog

探讨 Node.js 异步编程、高性能网络分流与系统安全

深度解析 Node.js 事件循环与异步 I/O 优化

发布于 2026-02-15 · Node.js后端

在构建高性能 Web 应用时,理解 Libuv 的线程池机制是至关重要的。许多开发者误以为 Node.js 是完全单线程的,但实际上...

Node.js 的核心是 Event Loop。虽然 JavaScript 执行确实在单线程上,但底层的文件 I/O 和某些加密库调用是由 Libuv 维护的线程池处理的。

优化建议:

  • 增加 UV_THREADPOOL_SIZE:对于 I/O 密集型任务,默认的 4 个线程通常不足。
  • 避免同步阻塞:在主循环中使用 fs.readFileSync 会阻塞所有后续请求。
process.env.UV_THREADPOOL_SIZE = 64;
阅读全文 →

基于 Ubuntu 25.10 的服务器安全加固实践

发布于 2026-03-01 · LinuxSecurity

随着新内核的发布,Ubuntu 25.10 引入了更多的安全特性。从禁用 Root 密码登录到配置高性能防火墙...

在 Linux 生产环境下,第一步永远是最小化攻击面。我通常会执行以下脚本进行初始化:

# 禁用 root 登录
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# 开启 UFW 并限制端口
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

此外,建议定期检查 dmesg 日志,特别是在处理 PCIe 总线错误或硬件驱动(如 Atheros 无线网卡)异常时,及时的内核补丁更新至关重要。

阅读全文 →

复杂网络环境下嗅探技术的路由重定向原理

发布于 2026-03-10 · NetworkRouting

在透明代理中,Sniffing 技术不仅是为了识别域名,更是为了解决 DNS 污染环境下的精准分流策略...

当一个入站流量只有目标 IP 时,嗅探器(Sniffer)会检查 TLS 握手中的 SNI(Server Name Indication)字段。这一步发生在握手初期,允许我们在未解密的情况下获取目标域名。

为何需要 Override Destination?

如果嗅探到的域名与目标 IP 不匹配(例如由于 DNS 污染),强制重定向到域名解析出的新 IP 可以有效避免连接被墙或连接超时。这在配置复杂路由规则(如基于 GeoSite 的分流)时是逻辑闭环的核心。

阅读全文 →