从GoProxy中学习反向代理
阅读目的 弄清楚项目是如何完成代理的功能,因此重点弄懂 Proxy 部分的代码 项目地址 https://github.com/goproxyio/goproxy 从项目启动开始,我们的重点就是下面的这个参数 flag.StringVar(&proxyHost, "proxy", "", "next hop proxy for Go Modules, recommend use https://gopropxy.io") 我们将这个参数设置为国内可以访问的 https://goproxy.cn ,并且尝试一下是否能跑通整个服务,这里使用的是 Powershell,换成 Linux Shell 的时候其实也是一样的流程 # 单独开启一个终端启动服务 $ $CacheDIR = "G:\\GomodDebug" $ mkdir -p $CacheDIR\pkg\mod\cache\download\github.com\goproxyio\goproxy\@v\ $ go run . -proxy https://goproxy.cn -listen 127.0.0.1:8085 -cacheDir $CacheDIR goproxy.io: ProxyHost https://goproxy.cn goproxy.io: ------ --- /github.com/@v/list [proxy] goproxy.io: ------ --- /github.com/goproxyio/goproxy/@v/list [proxy] goproxy.io: ------ --- /github.com/goproxyio/@v/list [proxy] goproxy.io: 0.344s 404 /github.com/@v/list goproxy.io: 0.548s 200 /github....