Pregunta

El firewall estoy detrás está ejecutando Microsoft ISA server en NTLM el modo de solo.Hash alguien tiene éxito en conseguir su Ruby gems para instalar/actualizar a través de Ruby SSPI joya u otro método?

...o solo estoy siendo perezoso?

Nota:rubysspi-1.2.4 no funciona.

Esto también funciona para "igem", parte de la IronRuby proyecto

¿Fue útil?

Solución

Yo no era capaz de conseguir la mina a trabajar desde el modificador de línea de comandos, pero he sido capaz de hacerlo sólo por la configuración de mi HTTP_PROXY la variable de entorno.(Tenga en cuenta que el caso parece ser importante).Tengo un archivo de proceso por lotes que tiene una línea como esta en:

SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%

I conjunto de los cuatro hace referencia a las variables antes de llegar a esta línea, obviamente.Como ejemplo, si mi nombre de usuario es "wolfbyte", mi contraseña es "secreto" y mi proxy se llama "pigsy" y que opera en el puerto 8080:

SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080

Usted puede tener cuidado de cómo consigues que porque almacena la contraseña en texto sin formato en la máquina de la sesión, pero creo que no debe ser demasiado de un problema.

Otros consejos

Para el sistema operativo Windows, he utilizado Fiddler para evitar el problema.

  1. Instalar/Ejecutar el Violinista de www.fiddler2.com
  2. Ejecutar joya:

    $ gem install --http-proxy http://localhost:8888 $gem_name
    

Esta totalmente trabajado:

gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name

He estado usando cntlm (http://cntlm.sourceforge.net/) en el trabajo.La configuración es muy similar a la ntlmaps.

Funciona muy bien, y también me permite conectar mi Ubuntu cuadro para el proxy ISA.

Echa un vistazo http://cntlm.wiki.sourceforge.net/ para obtener más información

He probado algunas de estas soluciones, y ninguno de ellos funcionó.Finalmente encontré una solución que me funciona:

gem install -p http://proxy_ip:proxy_port rails

el uso de la -p parámetro para pasar el proxy.Yo estoy usando la Gema de la versión 1.9.1.

Esta solucionado mi problema perfectamente:

gem install -p http://proxy_ip:proxy_port compass

Usted puede ser que necesite para agregar su nombre de usuario y contraseña para:

gem install -p http://[username]:[password]@proxy_ip:proxy_port compass

Crear una .gemrc archivo (en /etc/gemrc o ~/.gemrc o, por ejemplo, con el chef joya en /opt/chef/embedded/etc/gemrc) que contiene:

http_proxy: http://proxy:3128

A continuación, puede gem install como de costumbre.

Si usted está teniendo problemas para conseguir autenticado a través de su proxy, asegúrese de configurar las variables de entorno en exactamente el formato a continuación:

set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password

El user:password@ la sintaxis no parece funcionar y también hay algunos mal llamado variables de entorno flotando en el Desbordamiento de Pila y varios posts en el foro.

También ser conscientes de que puede tomar un tiempo para que sus joyas para iniciar la descarga.Al principio pensé que no iba a funcionar, pero con un poco de paciencia se inició la descarga como se esperaba.

He probado todas las soluciones anteriores, sin embargo, ninguno de ellos funcionó.Si estás en linux/macOS yo recomiendo el uso de tsocks a través de un túnel ssh.Lo que usted necesita con el fin de conseguir esta configuración de trabajo es una máquina donde se puede acceder por ssh, y además para que un programa llamado tsocks instalado.

La idea aquí es crear una dinámica de túnel a través de SSH (un proxy socks5).Nosotros, a continuación, configurar tsocks para el uso de este túnel, y para empezar a nuestras aplicaciones, en este caso:

tsocks gem install ...

o a la cuenta de rails 3.0:

tsocks bundle install

Una guía más detallada se puede encontrar en:

http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/

A pesar de estar escrito para Ubuntu el procedimiento debe ser aplicable a todos los Unix basados en máquinas.Una alternativa a tsocks para Windows es FreeCap (http://www.freecap.ru/eng/).Viable un cliente SSH en windows se llama masilla.

Puestos abundan con respecto a este tema, y para ayudar a otros a ahorrar horas de probar diferentes soluciones, aquí está el resultado final de mis horas de retoques.

Las tres soluciones alrededor de la internet en este momento son:rubysspi apserver cntlm

rubysspi sólo funciona desde una máquina Windows, AFAIK, ya que se basa en la Win32Api de la biblioteca.Así que si usted está en un cuadro de Windows tratando de correr a través de un proxy, esta es la solución para usted.Si usted está en una distro de Linux, estás de suerte.

apserver parece ser un callejón sin proyecto.El enlace que aparece en los posts que he visto conducir a error 404 de página en sourceforge.Yo de la búsqueda para "apserver" en sourceforge no devuelve nada.

La sourceforge enlace para cntlm que he visto redirige a http://cntlm.awk.cz/, pero que los tiempos de espera.Una búsqueda en sourceforge se convierte de este enlace, que funciona: http://sourceforge.net/projects/cntlm/

Después de la descarga y configuración de cntlm he logrado instalar una joya a través de un proxy, por lo que esta parece ser la mejor solución para las distribuciones de Linux.

Una solución es instalar http://apserver.sourceforge.net en su máquina local, configurar y ejecutar las gemas a través de este proxy.

  • Instalar:Sólo tienes que descargar apserver 097 (y no experimental 098!) y desempacar.
  • Configurar:Editar el servidor.archivo cfg y poner los valores de la MS proxy en PARENT_PROXY y PARENT_PROXY_PORT.Introduzca los valores para el DOMINIO y el USUARIO.Deje la CONTRASEÑA en blanco (nada después de los dos puntos) – se le pedirá al lanzamiento.
  • Ejecutar apserver: cd aps097; python main.py
  • Ejecutar Las Gemas: gem install—http-proxy http://localhost:5865/ library

Estoy detrás de un proxy y acaba de instalar SASS por la descarga directamente desde http://rubygems.org.

Entonces me corrió sudo gem install [path/to/downloaded/gem/file].No puedo decir que esto va a funcionar para todas las gemas, pero puede ayudar a algunas personas.

Esto funcionó para mí en un cuadro de Windows:

set HTTP_PROXY=http://server:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=userparssword
set HTTPS_PROXY=http://server:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=userpassword

Tengo un archivo de proceso por lotes con estas líneas que puedo utilizar para establecer los valores del entorno cuando la necesito.

El truco, en mi caso, fue HTTPS_PROXY los conjuntos.Sin ellos, yo siempre tengo un 407 proxy error de autenticación.

Si usted está en un *nix sistema, utilice esto:

export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}

y, a continuación, intente:

gem install ${gem_name}

rubysspi-1.3.1 trabajó para mí en Windows 7, siguiendo las instrucciones de esta página:

http://www.stuartellis.eu/articles/installing-ruby/

Si desea utilizar el servidor proxy SOCKS5, usted puede tratar de rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy.

A mí me funciona en OS x 10.9.3.

Si detrás de un proxy, usted puede navegar a Ruby descargas, haga clic en Descargar, que descarga el especificado de actualización ( Gem ) a una ubicación deseada.

Siguiente, a través de Rubí de la línea de comandos, vaya a la descarga de ubicación mediante : pushd [directory]

por ejemplo : pushd D:\Setups

a continuación, ejecute el siguiente comando: gem install [update name] --local

por ejemplo: gem install rubygems-update --local.

Probado en Windows 7 con Ruby actualización de la versión 2.4.1.

Para comprobar utilice el siguiente comando : ruby -v

Lugar de edición de archivos de proceso por lotes (que puede que tenga que hacer para otras gemas de Ruby, por ejemplo,Bundler), es probablemente mejor que hacerlo una vez, y hacerlo bien.

En Windows, detrás de mi proxy corporativo, todo lo que tenía que hacer era agregar la HTTP_PROXY la variable de entorno a mi sistema.

  1. Inicio -> clic derecho en Equipo -> Propiedades
  2. Seleccione "Configuración Avanzada Del Sistema"
  3. Haga Clic En Opciones Avanzadas -> Variables De Entorno
  4. Crear una nueva variable de Sistema denominado "HTTP_PROXY"y establezca el Valor de su servidor proxy
  5. Reiniciar o cerrar la sesión y volver a iniciarla

Dependiendo de los requisitos de autenticación, el HTTP_PROXY el valor puede ser tan simple como:

http://proxy-server-name

O más complejos, como otros han señalado

http://username:password@proxy-server-name:port-number
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top