
SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,使得多个人可以共同开发同一个项目,实现共享资源,实现最终集中式的管理。本教程讲解如何将本地局域网的 VisualSVN 服务设置开放在异地外网简单轻松的访问的多种实现方案。不管你是面对动态IP,还是无公网IP环境,都可以选择对应合适的方法解决外网访问内网的问题。

利用路由器自带端口映射功能,将外部请示转发到内部IP端口上,实现外网访问SVN服务。
在SVN服务器本地网络的路由器管理后台,找到对应转发规则 添加设置(一般在外网访问、或在虚拟服务器、或在NAT、或叫端口转发、或在高级应用里面,不同型号路由名称不同,但作用是一样的):

端口号:443或8443,以本地SVN使用端口填写,一般内外网端口保持一样;
IP地址:一般只让你填写一个IP的是内网IP地址,填写本地SVN服务器的固定内网Ip地址;
协议:选择TCP或ALL,不管你的SVN使用的是默认https还是http都是基于TCP的;
添加保存后,部分路由需要重启才生效。
如内网本地访问SVN地址是https://192.168.1.102/svn这样的,则对应在外地访问时,将内网IP改为外网IP +端口号,外网Ip就是路由WAN地址,如:https://外网IP:443/svn。
(1)确保SVN服务器环境有公网IP权限。查看所在网络的路由WAN地址是公网IP,且百度IP结果之这相同。
(2)部分网络环境限制443等常规端口号,需要尝试更换其他端口使用访问,如10443。
如果是动态ip地址的,不想每次访问SVN前都看一下对应路由公网IP的,则需要在路由映射的基础上,同时使用动态域名解析服务,用固定的域名代替变化IP来访问。
以常见的nat123动态解析为示例,简单界面化操作步骤参考:
在SVN本地或所在局域网另台设备上,下载安装nat123客户端,并登录,点击下解析列表,再点击“添加域名”(也可以直接在对应官网管理后台添加修改解析操作,会自动同步生效客户端):

在这添加域名解析时,选择动态域名解析记录,并输入自己域名,或默认提供的自定义二级 域名,这个域名只要自己不改,它是不会变的。确认保存即生效,DDNS软件会实时将固定域名解析到本地最新公网IP上,可以简单PING域名测试对应IP是否与本地公网IP对应。
在外网使用SVN时,不管是SVN客户端连接导出本地电脑,还是直接浏览器方式,都可以直接使用对应域名+端口方式。
(1)在路由映射生效公网IP正常访问的情况下,动态域名解析才会生效,完全走本地网络速度带宽。
(2)如果使用自己域名来访问的,同时需要在添加动态解析时填写自己域名,并同时在自己注册域名解析网上添加对应的cname指向让自己域名生效。
SVN服务开启使用的是https协议,但本地环境网络带宽没有公网IP,又希望外网用固定443端口访问的,可以使用nat123映射443https类型方式实现。
在SVN服务器本地或所在内网互通设备上使用nat123客户端,并添加映射配置。
---映射类型:选择443https;
---内网地址端口:以本地SVN实际访问的内网Ip端口填写,如本机443的,对应127.0.0.1和443;
---外网域名:默认生成随机域名,但为了方便记住使用,一般可以自定义对应二级字符;如有自己域名的,可以修改使用自己的域名,来作为外网访问用;

确认保存即生效,可见在界面上(和对应官网管理后台)多了条映射记录,同时有显示对应SVN内外网地址信息,鼠标移动上面会有提示本地状态检测参考。
在外地访问SVN时,使用浏览器或SVN客户端来访问,对应使用https://自定义域名:443即可。
(1)只有本地是https协议的使用时,才可以使用443https映射类型外网访问。
(2)使用自己域名访问SVN的,同时需要添加映射时填写自己域名,和在自己域名解析网添加对应域名解析指向让自己域名生效。
本地无公网IP环境搭建部署的SVN服务后,对外网访问没有端口要求的,可以使用nat123映射非80类型实现。
使用nat123添加映射时,选择非80网站的映射类型,并对应自定义填写内网地址(本地SVN内网IP端口)和外网地址(自己域名或默认自定义二级域名),确认保存生效。
可以看到在界面上多了一条SVN的映射记录,同时对应显示了内外网地址端口信息。
在外地连接访问SVN时,浏览器或SVN客户端安装后本地导出使用对应的域名+外网端口号。

(1)不管SVN是使用https还是http协议 的,都可以使用非80类型映射外网访问,对应带上外网端口号。
(2)使用自己域名时,同时添加映射填写自己域名,和在自己域名注册解析网上设置域名解析指向让自己域名生效。
当你在家或出差在外,需要连接到公司内部的SVN服务器时,却遇到了外网无法打开URL地址的问题,怎么办呢?别担心,这里上面介绍的几个解决方案都可以尝试看看!注意让外网访问是内网本地开放出去的,需要事先在本地内网设置将内网地址转换成公网地址的过程。不管有没有公网IP,都可以选择对应解决方案实施,让外网访问内网的SVn服务。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。