Я нахожусь на ноутбуке (Ubuntu) с сетью, использующей HTTP-прокси (разрешены только HTTP-соединения).
Когда я использую svn для URL-адреса, например "http://.....", все круто (репозиторий google chrome работает отлично), но сейчас мне нужно svn с сервера с помощью svn://.... ', и я вижу, что соединение отказалось.
Я установил прокси-конфигурацию в /etc/subversion/servers, но это не поможет.
У кого-нибудь есть мнение/решение?
Svn через HTTP-прокси
Ответ 1
В /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
Ответ 2
Хорошо, это должно быть очень просто:
$ sudo vi /etc/subversion/servers
Отредактируйте файл:
[Global]
http-proxy-host=my.proxy.com
http-proxy-port=3128
Сохраните его, запустите svn
снова, и он будет работать.
Ответ 3
Если вы можете получить SSH, вы можете отправить SSH-сервер с SSH-портом.
Используйте SSHs -L
(или -R
, я забываю, это всегда меня смущает), чтобы сделать туннель ssh так, чтобы
127.0.0.1:3690
действительно подключается к удаленному: 3690 через туннель ssh, а затем вы можете использовать его через
svn co svn://127.0.0.1/....
Ответ 4
когда вы используете URI svn://, он использует порт 3690 и, вероятно, не будет использовать http proxy
Ответ 5
svn://не говорит http, поэтому нет прокси-сервера http.
Любая причина, по которой http не работает? Вы считали https? Если вам это действительно нужно, вы, вероятно, должны открыть порт 3690 в своем брандмауэре.
Ответ 6
Если вы используете стандартную установку SVN, соединение svn://будет работать на tcpip-порту 3690 и поэтому в принципе невозможно подключиться, если вы не измените конфигурацию вашей сети (вы сказали, что разрешен только трафик Http) или вы устанавливаете http module и Apache на сервере, на котором размещен ваш сервер SVN.
Ответ 7
Хорошо, эта тема несколько устарела, но поскольку я нашел ее в 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 на том же порту.
Просто замените адреса портов и серверов на собственные нужды.