golang中的GoProxy SSL拦截

时间:2015-05-21 16:41:17

标签: ssl https go proxy

我试图通过HTTPS阻止对任何内容的请求

它适用于HTTP,但HTTPS似乎能完全避免我的代理。我在firefox中使用foxyproxy将其设置为使用我的代理。

以下代码将在浏览器请求通过HTTP请求时打印URL,但是通过HTTPS我什么也看不见。

任何想法为什么?

func DropHTTPS() net.Listener {
    listener, _ = net.Listen(CONN_TYPE, CONN_HOST+":"+CONN_PORT)
    proxy := goproxy.NewProxyHttpServer()
    proxy.OnRequest().DoFunc(func (req *http.Request, ctx *goproxy.ProxyCtx) (*http.Request, *http.Response) {
        log.Println("url: ", req.URL)
        return req, nil
    })
    go http.Serve(listener, proxy)
    return listener
}

编辑: 我刚刚阅读了HTTPS CONNECT,也许这就是我需要处理HTTPS请求的事实。 goproxy库似乎有HTTPSHandler()HijackConnect()可用,虽然我不想MITM连接,我只是想阻止它。

再次编辑: 此代码似乎在HTTP的不同端口上运行HTTPS代理。我不确定是否需要在Firefox中配置,或者我的代理只能在一个端口上侦听HTTP和HTTPS。

另外,我需要以不同的方式“倾听”吗?

HandleConnectFunc()还是什么?

0 个答案:

没有答案