初探 ReverseProxy 源码

初探 ReverseProxy 源码

基于 ReverseProxy 实现反向代理

package main

import (
	"log"
	"net/http"
	"net/http/httputil"
	"net/url"
)

var addr = "127.0.0.1:2002"

func main()  {
	/**
	http://127.0.0.1:2002/xxx
	替换成
	http://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)
	}

	// NewSingleHostReverseProxy 方法内封装了重写的规则 
	proxy := httputil.NewSingleHostReverseProxy(url1)
	log.Println("Starting httpserver at " + addr)
	log.Fatal(http.ListenAndServe(addr, proxy))
}
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享