【发布时间】:2021-12-26 18:24:49
【问题描述】:
我想使用 stl 库中的 net 包在 golang 中制作反向代理。使用 httputil 创建反向代理。但是当我向代理服务器发出请求时,它会返回 404 错误。
这是代理服务器代码
package main
import (
"log"
"net/http"
"net/http/httputil"
"net/url"
)
func main() {
demoUrl , err := url.Parse("http://localhost:1000/run/")
if err!=nil{
log.Fatal(err)
return
}
proxy := httputil.NewSingleHostReverseProxy(demoUrl)
http.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {
proxy.ServeHTTP(rw, r)
})
http.ListenAndServe(":2000", nil)
}
这里是源服务器代码:
package main
import (
"net/http"
)
func main(){
http.HandleFunc("/run", func(w http.ResponseWriter, r *http.Request){
w.Write([]byte("I am running"))
})
http.ListenAndServe(":1000", nil)
}
请告诉我这里缺少什么以及如何修复错误!请
【问题讨论】:
标签: go reverse-proxy net-http