公司内网的Jenkins需要使用EasyConnection才能访问,但是这软件有点流氓
在自己电脑上是未开源的代理软件一概不敢使用怕有后门,所以在git上找到一个可以使用docker容器运行这软件的库
https://github.com/Hagb/docker-easyconnect
由于我的windows系统,现在可以在wsl2环境上进行试验,但是为了方便我在VMWare的centos系统上进行了操作
果然过于复杂的东西都不是能够一下就成功的
docker安装
|
|
启动容器
作者提供了两个版本镜像,一个是纯cli的,一个提供了vnc界面
由于是使用centos所以直接使用cli版本的
|
|
- vpnaddress -> 代理的地址
- username -> 密码
- password -> 账号
运行后可以看到打印
然后在本地ping虚拟机上的端口,居然不通
虚拟机上1080 与 8888这两个端口,防火墙也是放行的
经过一段时间的尝试,弄不出来,于是在Issue里面寻找答案,经过一番寻找,原来是命令里面的端口映射的方式有问题
https://github.com/Hagb/docker-easyconnect/issues/103#issuecomment-1016429807
把127.0.0.1去掉就可以了
为什么加上ip就不行了呢
首先是命令的差异性
docker run -p ip:hostPort:containerPort
hostPort:containerPort
(映射所有接口地址)
ip:hostPort:containerPort
(映射指定地址的指定端口)
加上127.0.0.1是映射127.0.0.1:port到docker的port上,而由于是使用的虚拟机,还需要先连上虚拟机的ipv4地址,所以是127.0.0.1 != 虚拟机ip导致的
如果非想加上ip的话,有两个办法可以实现
- 在虚拟机里面使用有转发功能的软件指定一个端口转发到127.0.0.1:8888上(nginx,caddy)
- 直接使用ipv4地址
然后在浏览器里面使用Proxy SwitchyOmega扩展添加一下虚拟机的centos机器的8888/http代理或者1080/socket5代理
直接访问需要通过easyconnetion连接的路径
成功进入!