SVN через HTTP прокси [закрыт]

54

Я нахожусь на ноутбуке (Ubuntu) с сетью, использующей HTTP-прокси (разрешены только HTTP-соединения).
Когда я использую svn для URL-адреса, например "http://.....", все круто (репозиторий google chrome работает отлично), но сейчас мне нужно svn с сервера с помощью svn://.... ', и я вижу, что соединение отказалось.
Я установил прокси-конфигурацию в /etc/subversion/servers, но это не поможет.
У кого-нибудь есть мнение/решение?

Теги:
proxy
svn

7 ответов

59
Лучший ответ

В /etc/subversion/servers вы устанавливаете http-proxy-host, который не имеет ничего общего с svn://, который подключается к другому серверу, обычно запущенному на порту 3690, запущенном командой svnserve.

Если у вас есть доступ к серверу, вы можете настроить svn+ssh:// как здесь.

Обновить. Вы также можете попробовать использовать connect-tunnel, который использует ваш прокси-сервер HTTPS для туннельных подключений:

connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690

Затем вы должны использовать

svn checkout svn://localhost:10234/path/to/trunk
  • 0
    Отлично, я искал что-то подобное. +1 для вас, сэр.
  • 20
    есть также ~/.subversion/servers
Показать ещё 2 комментария
45

Хорошо, это должно быть очень просто:

$ sudo vi /etc/subversion/servers

Отредактируйте файл:

[Global]
http-proxy-host=my.proxy.com
http-proxy-port=3128

Сохраните его, запустите svn снова, и он будет работать.

  • 1
    Кроме того, обязательно используйте http: // в URL репо, а не svn: //
  • 10
    Файл «серверы» в Windows находится по адресу: ~ \ AppData \ Roaming \ Subversion \ servers
Показать ещё 1 комментарий
2

Если вы можете получить SSH, вы можете отправить SSH-сервер с SSH-портом.

Используйте SSHs -L (или -R, я забываю, это всегда меня смущает), чтобы сделать туннель ssh так, чтобы

127.0.0.1:3690 действительно подключается к удаленному: 3690 через туннель ssh, а затем вы можете использовать его через

svn co svn://127.0.0.1/....
  • 0
    Удаленный сервер на Windows для SSH Я использую HTTP туннелирование с помощью штопора
0

Хорошо, эта тема несколько устарела, но поскольку я нашел ее в google и у вас есть решение, это может быть интересно для кого-то:

В принципе (конечно) это невозможно для каждого HTTP-прокси, но работает на прокси-серверах, разрешающих HTTP-соединение на порту 3690. Этот метод используется HTTP-прокси на порту 443, чтобы обеспечить способ для безопасного соединения https. Если ваш администратор настраивает прокси-сервер для открытия порта 3690 для http-соединения, вы можете настроить локальный компьютер для создания туннеля через прокси.

Мне просто нужно было проверить некоторые файлы с svn.openwrt.org в сети наших компаний. Легкое решение для создания туннеля добавляет следующую строку в ваш /etc/hosts

127.0.0.1 svn.openwrt.org

Впоследствии вы можете использовать socat для создания туннеля tcp для локального порта:

в то время как true; do socat tcp-listen: 3690 proxy: proxy.at.your.company: svn.openwrt.org: 3690; сделано

Вы должны выполнить команду как root. Он открывает локальный порт 3690, а при подключении создает туннель к svn.openwrt.org на том же порту.

Просто замените адреса портов и серверов на собственные нужды.

0

Если вы используете стандартную установку SVN, соединение svn://будет работать на tcpip-порту 3690 и поэтому в принципе невозможно подключиться, если вы не измените конфигурацию вашей сети (вы сказали, что разрешен только трафик Http) или вы устанавливаете http module и Apache на сервере, на котором размещен ваш сервер SVN.

0

svn://не говорит http, поэтому нет прокси-сервера http.

Любая причина, по которой http не работает? Вы считали https? Если вам это действительно нужно, вы, вероятно, должны открыть порт 3690 в своем брандмауэре.

0

когда вы используете URI svn://, он использует порт 3690 и, вероятно, не будет использовать http proxy

Ещё вопросы

Сообщество Overcoder
Наверх
Меню