V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
5200
V2EX  ›  程序员

请教一下 SVN 代理可以设置吗,好像无效?

  •  
  •   5200 · 2019-03-11 20:16:42 +08:00 · 2089 次点击
    这是一个创建于 2110 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有一台 SVN 服务器,想来想限制只能另外一台服务器(代理服务器)能够连上这台服务器。

    然后就在另外一台服务器(代理服务器)上搭建代理

    然后想把 SVN 的流量( sokes 方式,后尝试 http 方式也不行)转到本地客户端,由客户端连接代理服务器。

    结果发现好像 TortoiseSVN 设置代理根本没用。

    设置一个错误的代理也照样能拉成功(另外一个项目)。

    尝试过修改那个 txt 文件设置代理也不行,

    还试过使用 privoxy 转一下接口,

    结果发现根本问题是 svn 根本没鸟你设置的这个代理,他流量不走设置的代理。

    是不是 SVN:// 不支持 ,手动设置全局也不行。

    不知道是不是得把 SVN://转成 http(s)://这种形式才行。

    请教一下 V 友这种要怎么处理好呢。
    需求就是 SVN 限制一个 IP 访问,
    因为公司本地 IP 会经常变动不好设置,
    所以直接绑定代理服务器。
    把 SVN 流量转到代理服务器,通过代理服务连接 SVN。





    8 条回复    2019-03-12 17:39:51 +08:00
    LeeSeoung
        1
    LeeSeoung  
       2019-03-12 10:46:06 +08:00
    你 svn ip 配置 127.1.1.1 确定没问题??
    marsgt
        2
    marsgt  
       2019-03-12 10:48:32 +08:00
    首先要搞明白,为什么需要限制只有这台服务器能连 SVN ?用权限校验不行么?
    5200
        3
    5200  
    OP
       2019-03-12 13:41:25 +08:00
    @LeeSeoung 我是测试,输入一个错误的,代理,居然也能拉成功。

    @marsgt 这个服务器有其他的项目,必须限制只能代理服务器连接。

    参考过一些资料,好像只能 http 或者 https 这种才能代理,svn://这种根本不走代理。
    估计还是需要搭一个 Apache 转一遍。
    marsgt
        4
    marsgt  
       2019-03-12 14:58:20 +08:00
    @5200
    我觉得你开始的思路可能不太对,走本地不是这么个走法的。
    SVN 协议跟 SSH 协议应该亲缘关系比较大,所以我建议你,要么试试用防火墙挡掉其它 ip (按 SSH 的端口),要么统一走 HTTPS 端口,用 Web 服务器做过滤。
    5200
        5
    5200  
    OP
       2019-03-12 15:19:12 +08:00
    @marsgt 嗯呢谢谢,开始是以为 svn://这种可以走代理。
    我用的 xshell 和 xftp 配置代理后也是这种方式,都能通过代理服务器连接到 svn 的服务器,
    唯独这个 svn://不行。
    现在只能想其他的解决方法了,
    目前是考虑写一个 python 脚本在本地跑,如果本地的 ip 地址变动了,
    自动将新的 ip 地址添加到阿里防火墙安全组里面。阿里有提供接口,这个应该会来得简单 。
    marsgt
        6
    marsgt  
       2019-03-12 16:01:39 +08:00
    @5200
    你这个服务器是放在阿里云上的?我还以为是本地的。。
    阿里云一般就端口全封,然后直接走它内网 IP 就行。
    5200
        7
    5200  
    OP
       2019-03-12 16:28:20 +08:00
    marsgt
        8
    marsgt  
       2019-03-12 17:39:51 +08:00   ❤️ 1
    @5200
    这个拓扑太复杂了完全没遇到过。。😂
    我只能给你个大体思路,你可以试试在代理服务器上搭个 SSH 端口转发,走 SSH 隧道穿透内网到 SVN 服务器上,连接的时候协议用 SVN+SSH,或者用 SVN 应该也行,只不过需要转发到 SVN 协议的端口上。回头 SSH 可以再配个密钥。
    (我自己的话可能嫌麻烦就直接走 SSH 连 SVN 服务器了,密钥+密码如果都罩不住,走代理也是一样的吧……)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:24 · PVG 08:24 · LAX 16:24 · JFK 19:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.