1 概念

go语言中文文档:www.topgoer.com

转自:https://blog.51cto.com/pmghong/2504475

1.1 正向代理

一种客户端代理技术,用于帮助客户端访问无法直接访问的网络资源,并隐藏客户端IP,常见的场景有***、浏览器HTTP代理

1.2 反向代理

一种服务端代理技术,用于隐藏真实服务端节点,并实现负载均衡、缓存、安全校验、协议转换等,常见的有LVS、nginx

2 实践2.1 实现一个正向代理服务2.1.1 基本思路
  • 代理接收客户端请求,复制该请求对象,并根据实际需要配置请求参数

  • 构造新的请求,发送到服务端,并获取服务端的响应内容

  • 接收到响应内容后返回给客户端

2.1.2 具体实现

2.2 Go实现一个反向代理服务

2.2.1 基本思路2.2.2 具体实现

Http real Server 实现:监听8081和8082端口,返回请求的URL


反向代理服务端实现