为了账号安全,请及时绑定邮箱和手机立即绑定

在golang中创建一个http到https转换转发代理,内置http包

在golang中创建一个http到https转换转发代理,内置http包

Go
烙印99 2022-08-30 21:42:18
我是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
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

通过设置@leaf bebop在评论中建议的bebop已经解决了这个问题。将方案设置为 HTTPS 后,请求现在将作为 HTTPS 发送。r.URL.Scheme = "https"


有用的参考资料:

https://posener.github.io/http2/由@Amrendra Yadav,HTTP / 2 Cleartext(H2C)客户端How to Play Go Lang with HTTP建议


查看完整回答
反对 回复 2022-08-30
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我认为这个博客解释了很多关于golang中的http和https。你可以通过这个:https://posener.github.io/http2/


查看完整回答
反对 回复 2022-08-30
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信