我是Golang的初学者,找不到一种直接的方法来实现这一点。我有一个用例,后端服务器必须使用代理与前端服务器通信,其中一些前端服务器仅支持https。


我正在考虑使用两个端口,一个作为HTTP转发,另一个作为HTTPS转发。后端始终通过 HTTP 与代理通信。有没有更好的方法来做到这一点?


我当前的代理服务器没有执行 http 到 https 的转换。它仍然使用HTTP,我不知道为什么?



    egressClient := &http.Client{

            Transport: &http.Transport{

                TLSClientConfig: &tls.Config{

                    InsecureSkipVerify: true,

                },

            },

        }

    

    html, err := egressClient.Transport.RoundTrip(r)

        if err != nil {

            log.Fatal(err)

        }

        website, err := ioutil.ReadAll(html.Body)

        if err != nil {

            log.Fatal(err)

        }

        html.Body.Close()

        log.Print(string(website))


其中 是从后端获取的 HTTP 请求。我必须将 r 作为 HTTPS 请求转发。r