dongzhuo7291 2019-05-22 16:59 采纳率: 100%
浏览 72

如何使用反向代理获取当前打开的TCP连接数

I have the following simple reverse proxy:

func main() {
    go func() {
        for range time.NewTicker(30 * time.Second).C {
            log.Println("NUMBER OF OPEN CONNECTIONS")
        }
    }()

    http.HandleFunc("/", handleRequestAndRedirect)
    if err := http.ListenAndServe(getListenAddress(), nil); err != nil {
        panic(err)
    }
}

func handleRequestAndRedirect(res http.ResponseWriter, req *http.Request) {
    serveReverseProxy("https://example.com", res, req)
}

func serveReverseProxy(target string, res http.ResponseWriter, req *http.Request) {
    url, _ := url.Parse(target)
    req.URL.Host = url.Host
    req.URL.Scheme = url.Scheme
    req.Host = url.Host

    proxy := httputil.NewSingleHostReverseProxy(url)
    proxy.ServeHTTP(res, req)
}

All I am trying to figure out how to do is print the current number of open TCP connections every 30 seconds. Is there some property I can access in http or httputil to do this? Is there a way I can track this myself with minimal modifications to the code?

Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 帮我写一个c++工程
    • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
    • ¥15 关于smbclient 库的使用
    • ¥15 微信小程序协议怎么写
    • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
    • ¥20 怎么用dlib库的算法识别小麦病虫害
    • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
    • ¥15 java写代码遇到问题,求帮助
    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教