linux - svn sobre proxy HTTP
ubuntu (7)
Estoy en una computadora portátil (Ubuntu) con una red que usa proxy HTTP (solo conexiones HTTP permitidas).
Cuando uso svn para url como ''http: // .....'' todo está bien (el repositorio google chrome funciona perfecto), pero ahora necesito instalar el servidor con ''svn: // ... ''y veo la conexión rechazada.
Configuré el proxy en / etc / subversion / servers pero no ayuda.
¿Alguien tiene opinión / solución?
De acuerdo, este tema está algo desactualizado, pero como lo encontré en Google y tengo una solución, esto podría ser interesante para alguien:
Básicamente (por supuesto) esto no es posible en todos los servidores proxy http, pero funciona en proxies que permiten la conexión HTTP en el puerto 3690. Este método es utilizado por proxies http en el puerto 443 para proporcionar una forma segura de conexiones https. Si su administrador configura el proxy para abrir el puerto 3690 para http connect, puede configurar su máquina local para establecer un túnel a través del proxy.
Solo estaba en la necesidad de consultar algunos archivos de svn.openwrt.org dentro de nuestra red de empresas. Una solución fácil para crear un túnel es agregar la siguiente línea a su / etc / hosts
127.0.0.1 svn.openwrt.org
Después, puede usar socat para crear un túnel tcp en un puerto local:
mientras es verdadero; do socat tcp-listen: 3690 proxy: proxy.at.your.company: svn.openwrt.org: 3690; hecho
Deberías ejecutar el comando como root. Abre el puerto local 3690 y al conectarse crea un túnel a svn.openwrt.org en el mismo puerto.
Simplemente reemplace las direcciones del puerto y del servidor según sus propias necesidades.
Ok, esto debería ser realmente fácil:
$ sudo vi /etc/subversion/servers
Edite el archivo:
[Global]
http-proxy-host=my.proxy.com
http-proxy-port=3128
svn
vuelva a ejecutar svn
y funcionará.
Si está utilizando la instalación SVN estándar, la conexión svn: // funcionará en el puerto tcpip 3690 y, por lo tanto, es básicamente imposible conectarse a menos que cambie la configuración de la red (dijo que solo se permite el tráfico Http) o instala el módulo http y Apache en el servidor que aloja su servidor SVN.
Si puede obtener SSH, puede un servidor SVN con puerto SSH reenviado.
Usar SSHs -L
(o -R
, me olvido, siempre me confunde) hacer un túnel ssh para que
127.0.0.1:3690
realmente se conecta a control remoto: 3690 en el túnel ssh, y luego puede usarlo a través de
svn co svn://127.0.0.1/....
cuando usas el URI svn: // usa el puerto 3690 y probablemente no use el proxy http
svn: // no habla de http, por lo tanto, no hay nada que un proxy http pueda hacer.
¿Algún motivo por el cual http no funciona? ¿Has considerado https? Si realmente lo necesita, es probable que tenga que tener el puerto 3690 abierto en su firewall.
En /etc/subversion/servers
está configurando http-proxy-host
, que no tiene nada que ver con svn://
que se conecta a un servidor diferente que generalmente se ejecuta en el puerto 3690 iniciado por el comando svnserve
.
Si tiene acceso al servidor, puede configurar svn+ssh://
como se explica aquí.
Actualización : también puede intentar usar connect-tunnel
, que usa su servidor proxy HTTPS para las conexiones de túnel:
connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690
Entonces usarías
svn checkout svn://localhost:10234/path/to/trunk