加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

GOLANG实现的HTTP转HTTPS的代理

发布时间:2020-12-16 09:46:02 所属栏目:大数据 来源:网络整理
导读:参考gocn 有时候需要将后端的HTTP服务,转成HTTPS,可以用一个代理。 Reamark: 如果是GOLANG的后端服务,可以直接用库 go-oryx-lib/https 。 这个代理支持自签名的证书,也支持letsencrypt的证书。 Remark: Letsencrypt只支持少量域名的情况,比如自己的网站

参考gocn

有时候需要将后端的HTTP服务,转成HTTPS,可以用一个代理。

Reamark: 如果是GOLANG的后端服务,可以直接用库go-oryx-lib/https

这个代理支持自签名的证书,也支持letsencrypt的证书。

Remark: Letsencrypt只支持少量域名的情况,比如自己的网站,它会有请求次数限制,另外CA是letsencrypt的,商业用户不适合用。

我们有个HTTP API,SRS Version:

{
  "code": 0,"server": 12504,"data": { "major": 2,"minor": 0,"revision": 243,"version": "2.0.243" } }

下面演示实现HTTPS的代理。

Self-sign Certificate

自签名证书可以用在测试中,先生成私钥server.key和证书server.crt

openssl genrsa -out server.key 2048 &&
openssl req -new -x509 -key server.key -out server.crt -days 365

Remark: 生成证书时会有很多提问,直接回车就好了。还可以参考openssl的文档,直接在命令行设置这些参数。

生成私钥和证书后,下载HTTPS代理:

go get github.com/ossrs/go-oryx/httpx-static

Remark: GOLANG的设置请参考GO环境配置。

Note: 详细参数可以直接运行httpx-static程序不带参数,会显示help。

启动服务,代理到SRS Version:

sudo $GOPATH/bin/httpx-static -http 80 -https 443 
    -proxy http://ossrs.net:1985/api/v1/versions 
    -ssc server.crt -ssk server.key

访问本机HTTP和HTTPS就可以:

  1. HTTP: http://localhost/api/v1/versions
  2. HTTPS: https://localhost/api/v1/versions

Remark: 浏览器访问自签名证书时,可能会提示不安全,选择高级然后继续浏览就可以了。

LetsEncrypt Certificate

可以使用letsencrypt签名的证书,在浏览器中会显示合法的绿色,不会提示有错误。参考:ossrs.net。

ossrs.net也是使用httpx-static,参数如下:

sudo $GOPATH/bin/httpx-static -http 80 -https 443 
    -lets=true -domains ossrs.net

Remark: 注意在局域网的机器无法使用,因为ACME会有反向验证,也就是你的服务器得能在公网访问到。

Advance Proxy

如果需要代理所有的API怎么办呢?直接指定父目录就好,如果指定/则代理所有的请求。例如:

下面的命令,代理所有的/api请求:

sudo $GOPATH/bin/httpx-static -http 80 -https 443 
    -proxy http://ossrs.net:1985/api 
    -ssc server.crt -ssk server.key

下面的命令,代理所有的请求,相当于做了镜像:

sudo $GOPATH/bin/httpx-static -http 80 -https 443 
    -proxy http://ossrs.net/ 
    -ssc server.crt -ssk server.key

其他的参数请参考httpx-static的参数。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读