我在Ubuntu 18.04服务器上托管了一个Go服务器端程序。我想使用Go处理example.com
,然后使用PHP在共享托管中处理example.com/blog
或blog.example.com
。
我更喜欢使用Go本身而不是其他Web服务器(例如:Nginx)来执行此操作,
我该怎么办?
答案 0 :(得分:3)
您需要将另一个服务器/进程提供的端点作为反向代理进行处理。标准库为您提供了httputil.ReverseProxy(它充当标准http.Handler
),以使其变得非常容易。
尝试这样的事情:
target, err := url.Parse("http://blog.example.com/")
if err != nil {
panic(err)
}
proxy := httputil.NewSingleHostReverseProxy(target)
mux.Handle("/blog", proxy)