公司的项目组设计外部兼职人员,如何让他们访问公司内部网络呢?那就再你的服务器上配置个内网穿透吧,目前比较好的内网穿透工具我推荐
花生壳
和Ngrok
,以及基于后者的小米球
。
花生壳最低需要6元,可以配置两个地址作为内网穿透服务器。当外部人员访问花生壳提供的地址时,就相当于伸出公司的你访问内部
192.168.14.xxx
地址。花生壳提供跨平台的客户端安装登陆即可,在网页配置穿透信息。而
ngrok
不收费,也是跨平台的但多端的使用方法略有不同,没花生壳那般小白都会操作。ngrok
提供的命令每次启动后会得到一个随机字符串作为二级域名,而且你需要自己维护服务器上的启动脚本,防止进程挂掉。最后的国人版小米球是某人根据
ngrok
收费版,搭建的自己的内网穿透工具。免费易用,windows
上支持良好,centos6/7
也能使用,但是在苹果的darwin
上据我测试无法使用,而且也需要手动维护脚本。你还要担心域名冲突,reconnect
的话你可能不知道怎么办,只能重启服务器。在windows
环境开发测试同步的话建议使用小米球。
正题,公司项目开发使用
svn
,通过映射让外部人员可以通过xxx.ngrok.xiaomiqiu.cn/svn/code
拉取代码,svn
所在服务器的内网地址为192.168.15.30
。突然有一天svn
挂了,大家都上传不了代码,公司负责人又忙别的事情抽不出身来解决。那我们在公司的只能修改客户端svn
的拉取地址咯。我不讲小乌龟GUI
那种百度一大堆的操作,lowb
。我们要极客,要优雅:命令:
svn switch --relocate http://xxx.ngrok.xiaomiqiu.cn/svn/code(旧地址) http://192.168.15.30/svn/code(新地址)
如果说你使用
Git
也遇到同样的问题呢?服务器GitLab
类似问题在另一篇文章提到,点击查看:搭建公司内网GitLab后IP不符问题,这里讨论客户端问题。让我们看看分布式版本控制工具的命令行做法:
一次命令:git remote set-url origin http://192/168/15.30/Erchoc/xxx.git
两次命令:git remote rm origin
&&git remote add origin http://192/168/15.30/Erchoc/xxx.git
- 同时,你可以使用
svn info
和git config --list
查看相关的配置信息,包括目前提交的服务器地址。 - 当然,无论是
svn or git
,你都可以使用桌面软件进行操作。