我正在使用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())
作品。是否可以更改路径?
在调用图像代理处理程序之前,使用http.StripPrefix从请求路径中删除“ / proxy”:
router.NewRoute().Name("proxy").Methods("GET").PathPrefix("/proxy/").Handler(http.StripPrefix("/proxy", p))
另外,在“ / proxy”下的所有路径上使用PathPrefix而不是Path进行匹配。