本站文章总数为:165
Search Posts

微信小程序wss请求转tcp请求隧道中继WebSocket TCP Relay

内容纲要

###centos6 不支持该方案 centos6的朋友不用看了,会报from src/env/__libc_start_main.c:94:2 in ‘libc_start_main_stage2’

因为公司谈一个项目,需要出一个小程序demo,公司原来的服务是java只接受tcp请求,微信小程序是wss请求,所以需要隧道中转.

自己找的网上的很多方案都没法用,或者能用但是是ws转tcp之类的.

现在找到一个方案,分享一下,因为git上这个项目使用说明也不是太清晰,结合我的使用实例大家可以看的更明白.

git地址 https://github.com/cloudamqp/websocket-tcp-relay

使用docker部署

我的docker使用实例 系统centos7 域名证书文件放在/tmp/ssl 文件夹中 关系到docker里的 /tmp目录 请求中继转发到内网172.19.8.8:20188,宿主机监听443 映射内网机15670默认端口(强迫症可以加–port=15671命令指定其他端口)

docker run --rm -it -v /tmp/ssl:/tmp -p 443:15670 cloudamqp/websocket-tcp-relay  --upstream tcp://172.19.8.8:20188 --tls-cert=/tmp/game.pem --tls-key=/tmp/game.key

 

使用程序单独运行

项目里面没有单独的文件,使用docker cp 单独拷贝出来了 a2f72d8dee46 是docker CONTAINER ID

docker cp a2f72d8dee46:/usr/local/bin/websocket-tcp-relay /tmp

 

有了文件,也可以使用命令运行

cd /tmp

./websocket-tcp-relay --bind 0.0.0.0 --port=15671 --upstream tcp://172.19.8.8:20188  --tls-cert=/tmp/ssl/game.pem --tls-key=/tmp/ssl/game.key

 

上面关掉终端就没了,可以nohup后台持久运行

nohup  ./websocket-tcp-relay --bind 0.0.0.0 --port=15671 --upstream tcp://172.19.8.8:20188  --tls-cert=/tmp/ssl/game.pem --tls-key=/tmp/ssl/game.key >/dev/null 2>&1 &

 

websocket-tcp-relay 文件下载地址:

https://pan.baidu.com/s/1Dhua5Feoap6NSRR9DbvS3A?pwd=pkp6 提取码: pkp6

https://wws.lanzouy.com/iBZMG03jeekb

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注