最近对 Go 语言的反向代理使用得偏多,其实在大概两年前就写过 TCP 层面的代理,而且那时也是用的 Go 语言,不同之处在于之前只是偶尔尝试一下使用,最近是因为工作需要使用的.相比较于 TCP 层面的代理,HTTP 的代理实现起来麻烦事比较多,如果我们仅仅是简单的反向代理,OK,那还好,做个 Host 替换就差不多了.但是,很多时候我们作反向代理,那么需求就比较多样了,例如我们可能希望对代理的响应内容做些改变,也可能希望是 HA 的反向代理. Go 语言在自身的内置库中就提供了一个很方便的反向
Go 结合 Consul 实现动态反向代理 代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端. Table of Contents 反向代理 实现逻辑 Go 语言实现 原生代码 httputil.ReverseProxy 工具实现 接入 consul 实现动态代理 参考 反向代理 反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给