GOLANG实现的HTTP转HTTPS的代理
参考gocn 有时候需要将后端的HTTP服务,转成HTTPS,可以用一个代理。
这个代理支持自签名的证书,也支持letsencrypt的证书。
我们有个HTTP API,SRS Version: {
"code": 0,"server": 12504,"data": { "major": 2,"minor": 0,"revision": 243,"version": "2.0.243" } }
下面演示实现HTTPS的代理。 Self-sign Certificate自签名证书可以用在测试中,先生成私钥 openssl genrsa -out server.key 2048 &&
openssl req -new -x509 -key server.key -out server.crt -days 365
生成私钥和证书后,下载HTTPS代理: go get github.com/ossrs/go-oryx/httpx-static
启动服务,代理到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就可以:
LetsEncrypt Certificate可以使用letsencrypt签名的证书,在浏览器中会显示合法的绿色,不会提示有错误。参考:ossrs.net。 ossrs.net也是使用httpx-static,参数如下: sudo $GOPATH/bin/httpx-static -http 80 -https 443
-lets=true -domains ossrs.net
Advance Proxy如果需要代理所有的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
其他的参数请参考 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |