本文尝试了使用IPV6地址,并分别通过 svn 协议和 http 协议,来访问 svn 服务。
环境
- ubuntu22.04
- subversion 1.14.1
- Apache2 2.4.52
- TortoiseSVN 1.14.5

开启
使用 svnserve
命令开启的 svn 服务默认情况是不支持通过 IPV6 地址来访问的。
这里通过命令来验证 netstat -antp | grep "LISTEN" | grep 3690
解释:0.0.0.0:*
说明监听的地址是 IPV4 地址。
可以通过 svnserve
的 -6
参数开启
解释::::3690
说明在监听 IPV6 地址,:::
是 IPV6 地址 0:0:0:0:0:0:0:0
的简短写法。
另外
-d 参数 ,指明在后台运行。
-r 参数,指定服务的根目录。
测试
SVN 客户端有多种,命令行、Tortoisesvn 等等
1 | 这里使用命令行来测试,并且把 Tortoisesvn 单独列出来的原因是,相同的路径、协议等情况下,svn 和 Tortoisesvn 的表现不同。只能认为是 TortoiseSVN 设计的问题 |
SVN 命令行
注意
- 要使用 [] 来表示 IPV6 地址。
- 注意转义的问题。[] 在 Linux 属于特殊字符,需要进行转移。
备注
1、SVN 服务除去默认的 SVN 协议(默认端口:3690),也可以使用其他协议来访问,比如 HTTP(默认端口是80)
2、SVN服务的 HTTP 协议是通过 Apache2 服务器的 libapache2-mod-svn
模块来实现的