课程名称:(打造简历金牌项目)Vue+Go 开发企业级微服务网关项目
课程章节:7-4
课程讲师:牛儿吃草
课程内容
ReverseProxy 功能点:
- 更改内容支持
- 错误信息回调
- 支持自定义负载均衡
- url重写功能
- 连接池功能
- 支持websocket服务
- 支持https代理
实现:
import (
"log"
"net/http"
"net/http/httputil"
"net/url"
)
var addr = "127.0.0.1:2002"
func main() {
//127.0.0.1:2002/xxx
//127.0.0.1:2003/base/xxx
rs1 := "http://127.0.0.1:2003/base"
url1, err1 := url.Parse(rs1)
if err1 != nil {
log.Println(err1)
}
proxy := httputil.NewSingleHostReverseProxy(url1)
log.Println("Starting httpserver at " + addr)
log.Fatal(http.ListenAndServe(addr, proxy))
}
课程收获:
学习go语言中的ReverseProxy,使用其实现代理,完成网络转发,并且亲自动手实践,实现相关功能,熟悉了go语言的编码格式以及语法逻辑,收益匪浅。