我正在使用https://github.com/willnorris/imageproxy代表用户获取图片并调整图片大小。默认应用程序有效,但我想将其与现有服务器集成,并将路径更改为“/ proxy /”,因为“/”将用于我的主应用程序。我也不想单独运行它,因为它只是我需要的几行。我有:
p := imageproxy.NewProxy(nil, nil)
p.SignatureKey = []byte("secret key")
p.Timeout = 10 * time.Second
router := mux.NewRouter().StrictSlash(true)
router.NewRoute().Name("proxy").Methods("GET").Path("/proxy/").Handler(p)
server := &http.Server{
Addr: "127.0.0.1:8000",
Handler: router,
}
我收到的每张图片都有“找不到404页”。将其更改为:
server := &http.Server{
Addr: "localhost:8000",
Handler: p,
}
log.Fatal(server.ListenAndServe())
的工作原理。是否可以改变路径?
答案 0 :(得分:2)
使用http.StripPrefix删除" / proxy"在调用图像代理处理程序之前从请求路径:
router.NewRoute().Name("proxy").Methods("GET").PathPrefix("/proxy/").Handler(http.StripPrefix("/proxy", p))
另外,在下面的所有路径上使用PathPrefix代替路径进行匹配" / proxy"。