IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:网络代理

共 2 篇相关文章

IT 累计浏览 2,803

HAProxy几个重要的结构体

这篇讲的是HAProxy高性能代理背后的数据结构“骨架”。作者从上篇的连接建立流程出发,这次深入剖析了几个支撑其运行的核心结构体,尤其是session和task。 对于管理每一次连接的session,文章剥离了HTTP等上层细节,展示了它如何通过嵌入的双向链表节点将所有会话串联起来,形成一个全局列表。对于驱动事件循环的task,讲解则更为深入:它借助了HAProxy自研的ebtree来管理任务队列。通过判断task内部ebtree节点的leaf_p指针是否为空,就能高效地知道一个任务是在等待队列还是运行队列中。文章还贴出了相关的内联函数代码,展示了如何进行队列的添加与删除操作。 整篇文章不泛泛而谈,而是紧扣“如何用简洁数据结构实现高效管理”这条主线。通过精简的结构体定义和队列操作示意,清晰地揭示了HAProxy将连接状态与异步事件调度解耦的设计思想,对于想理解现代网络服务器内部实现的读者来说,是一次扎实的源码解读。

IT 累计浏览 2,649

用 proxychains 做透明代理

这篇讲的是 proxychains 如何让那些本身不支持代理的程序,也能“透明”地通过代理服务器进行网络连接。作者从日常运维或开发中常见的一个痛点出发:当目标机器被网络策略屏蔽,而你手头的程序(比如某些数据库客户端、自定义脚本)又没有代理设置选项时,常规手段就失效了。文章介绍的核心方案是借助 proxychains 这款工具,它通过劫持程序的网络连接(基于 LD_PRELOAD 机制),将所有 TCP 流量强制重定向到你指定的代理链路上。这相当于在网络层面为应用“戴上”了代理的面具,应用本身无需任何修改。最终效果是,无论原本是否支持代理,只要系统支持,几乎任何程序都可以通过配置好的代理服务器访问外网,极大地扩展了代理的使用范围,为突破网络访问限制提供了一个灵活且强大的底层解决方案。