总而言之,我要
http://proxy.com/app1-> http://target1.com/directory
和
http://proxy.com/app2-> http://target2.com/directory2
不是(当前正在发生)
http://proxy.com/app1-> http://target1.com/directory/app1
和
http://proxy.com/app2-> http://target2.com/directory2/app2
我发现通过提供自定义的Director功能而不是使用NewSingleHostReverseProxy()(https://golang.org/src/net/http/httputil/reverseproxy.go)提供的默认功能,我能够实现我想要的行为。我通过将req.URL.Path设置为target.Path而不添加原始的req.URL.Path来完成此操作。除此之外,director功能与reverseproxy.go中的功能非常相似。