gpt4 book ai didi

Golang gin gonic web 框架代理路由到另一个后端

转载 作者:IT王子 更新时间:2023-10-29 01:51:05 25 4
gpt4 key购买 nike

如何在 Gin Gonic 中将一些路由的代理 Web 请求反向到另一个后端网页golang框架

有没有办法在Handle函数中直接转发如下图?


路由器 := gin.New()
router.Handle("POST", "/api/v1/endpoint1", ForwardToAnotherBackend)

最佳答案

这是我用于将特定端点子集从 gin 框架反向代理到另一个后端的解决方案:

router.POST("/api/v1/endpoint1", ReverseProxy())

和:

func ReverseProxy() gin.HandlerFunc {

target := "localhost:3000"

return func(c *gin.Context) {
director := func(req *http.Request) {
r := c.Request

req.URL.Scheme = "http"
req.URL.Host = target
req.Header["my-header"] = []string{r.Header.Get("my-header")}
// Golang camelcases headers
delete(req.Header, "My-Header")
}
proxy := &httputil.ReverseProxy{Director: director}
proxy.ServeHTTP(c.Writer, c.Request)
}
}

关于Golang gin gonic web 框架代理路由到另一个后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com