El firewall que estoy detrás ejecuta el servidor Microsoft ISA en modo solo NTLM. ¿Alguien ha tenido éxito al hacer que sus gemas Ruby se instalen / actualicen a través de la gema Ruby SSPI u otro método?
... o solo estoy siendo vago?
Nota: rubysspi-1.2.4 no funciona.
Esto también funciona para "igem", parte del proyecto IronRuby
alias gem='ruby -rspa `which gem`'
sudo
tenga acceso a las variables de entorno agregando el-E
interruptor, por ejemplo,sudo -E doSomething
Respuestas:
No pude hacer que el mío funcionara desde el interruptor de línea de comandos, pero pude hacerlo simplemente configurando mi
HTTP_PROXY
variable de entorno. (Tenga en cuenta que el caso parece ser importante). Tengo un archivo por lotes que tiene una línea como esta:Configuré las cuatro variables referenciadas antes de llegar a esta línea, obviamente. Como ejemplo, si mi nombre de usuario es "wolfbyte", mi contraseña es "secreta" y mi proxy se llama "pigsy" y opera en el puerto 8080:
Es posible que desee tener cuidado de cómo lo maneja porque almacena su contraseña en texto sin formato en la sesión de la máquina, pero no creo que deba ser un problema.
fuente
@
con%40
etc.Para el sistema operativo Windows, utilicé Fiddler para solucionar el problema.
Ejecutar gema:
fuente
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
es todo lo que se necesitaba para mí.sudo gem install jekyll --http-proxy=http://web-proxy.company.com:8080
Esto funcionó totalmente:
fuente
SSL_connect SYSCALL returned=5 errno=0 state=unknown state (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-3.0.0.gemspec.rz)
. Esto funcionó para mí congem install --http-proxy http://127.0.0.1:8580 jekyll
alias geminstall='gem install --http-proxy ${http_proxy}'
para hacerme la vida más fácil.He estado usando cntlm ( http://cntlm.sourceforge.net/ ) en el trabajo. La configuración es muy similar a ntlmaps.
Funciona muy bien, y también me permite conectar mi caja de Ubuntu al proxy ISA.
Visite http://cntlm.wiki.sourceforge.net/ para obtener más información.
fuente
Probé algunas de estas soluciones y ninguna funcionó. Finalmente encontré una solución que funciona para mí:
usando el
-p
parámetro para pasar el proxy. Estoy usando Gem versión 1.9.1.fuente
proxy_ip
que se usa para lashttps
conexiones para trabajar! Genial: D (gem versión 2.0.14)Cree un archivo .gemrc (en / etc / gemrc o ~ / .gemrc o, por ejemplo, con chef gem en / opt / chef / embedded / etc / gemrc) que contenga:
Entonces puedes
gem install
como siempre.fuente
--http-proxy
pero no con un.gemrc
archivo, puede provenir de lasudo
configuración. Tuve que verificar el/etc/sudoers
archivo para agregar:Defaults env_keep = "http_proxy ftp_proxy"
antes:Defaults env_reset
Esto resolvió mi problema perfectamente:
Es posible que deba agregarle su nombre de usuario y contraseña:
fuente
Si tiene problemas para autenticarse a través de su proxy, asegúrese de configurar las variables de entorno exactamente en el siguiente formato:
La
user:password@
sintaxis no parece funcionar y también hay algunas variables de entorno mal nombradas que flotan en Stack Overflow y en varias publicaciones del foro.También tenga en cuenta que las gemas pueden tardar un tiempo en comenzar a descargarse. Al principio pensé que no estaba funcionando, pero con un poco de paciencia comenzaron a descargar como se esperaba.
fuente
Probé todas las soluciones anteriores, sin embargo, ninguna funcionó. Si estás en linux / macOS, te recomiendo usar tsocks sobre un túnel ssh. Lo que necesita para que esta configuración funcione es una máquina donde puede iniciar sesión a través de ssh, y además de eso, se instaló un programa llamado tsocks.
La idea aquí es crear un túnel dinámico a través de SSH (un proxy socks5). Luego configuramos tsocks para usar este túnel e iniciar nuestras aplicaciones, en este caso:
o para tener en cuenta los rieles 3.0:
Puede encontrar una guía más detallada 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 debería ser aplicable para todas las máquinas basadas en Unix. Una alternativa a tsocks para Windows es FreeCap ( http://www.freecap.ru/eng/ ). Un cliente SSH viable en Windows se llama masilla.
fuente
Abundan las publicaciones sobre este tema, y para ayudar a otros a ahorrar horas de probar diferentes soluciones, este es el resultado final de mis horas de retoques.
Las tres soluciones en Internet en este momento son: rubysspi apserver cntlm
rubysspi solo funciona desde una máquina Windows, AFAIK, ya que se basa en la biblioteca Win32Api. Entonces, si está en una caja de Windows tratando de ejecutar un proxy, esta es la solución para usted. Si estás en una distribución de Linux, no tienes suerte.
apserver parece ser un proyecto muerto. El enlace que aparece en las publicaciones que he visto conduce a la página 404 en sourceforge. Busco "apserver" en sourceforge no devuelve nada.
El enlace de sourceforge para cntlm que he visto redirige a http://cntlm.awk.cz/ , pero se agota el tiempo de espera. Una búsqueda en sourceforge muestra este enlace, que funciona: http://sourceforge.net/projects/cntlm/
Después de descargar y configurar cntlm, he logrado instalar una gema a través del proxy, por lo que esta parece ser la mejor solución para las distribuciones de Linux.
fuente
Respuesta rápida: agregue la configuración de proxy con el parámetro para instalar / actualizar
fuente
Una solución alternativa es instalar http://web.archive.org/web/20060913093359/http://apserver.sourceforge.net:80/ en su máquina local, configurarlo y ejecutar gemas a través de este proxy.
PARENT_PROXY
yPARENT_PROXY_PORT
. Ingrese los valores para DOMINIO y USUARIO. Deje la CONTRASEÑA en blanco (nada después de los dos puntos): se le solicitará que la inicie.cd aps097; python main.py
gem install—http-proxy http://localhost:5865/ library
fuente
Estoy trabajando detrás de un proxy y acabo de instalar SASS descargándolo directamente de http://rubygems.org .
Entonces corrí
sudo gem install [path/to/downloaded/gem/file]
. No puedo decir que esto funcionará para todas las gemas, pero puede ayudar a algunas personas.fuente
Esto funcionó para mí en una caja de Windows:
Tengo un archivo por lotes con estas líneas que utilizo para establecer los valores del entorno cuando lo necesito.
El truco, en mi caso, fueron los
HTTPS_PROXY
sets. Sin ellos, siempre recibí un error de autenticación de proxy 407.fuente
Si está en un sistema * nix, use esto:
y luego intente:
fuente
rubysspi-1.3.1 funcionó para mí en Windows 7, usando las instrucciones de esta página:
http://www.stuartellis.eu/articles/installing-ruby/
fuente
Si desea utilizar el proxy SOCKS5, puede probar rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy .
A mí me funciona en OSX 10.9.3.
fuente
Si está detrás de un proxy, puede navegar hasta las descargas de Ruby , haga clic en Descargar, que descargará la actualización (o Gema) especificada en la ubicación deseada.
Luego, a través de la línea de comando Ruby, navegue a la ubicación descargada usando:
pushd [directory]
p.ej :
pushd D:\Setups
luego ejecute el siguiente comando:
gem install [update name] --local
p.ej:
gem install rubygems-update --local
.Probado en Windows 7 con la actualización de Ruby versión 2.4.1.
Para verificar use el siguiente comando:
ruby -v
fuente
En lugar de editar archivos por lotes (que puede que tenga que hacer para otras gemas de Ruby, por ejemplo, Bundler), probablemente sea mejor hacerlo una vez y hacerlo correctamente.
En Windows, detrás de mi proxy corporativo, todo lo que tenía que hacer era agregar la
HTTP_PROXY
variable de entorno a mi sistema.HTTP_PROXY
" y establezca el Valor en su servidor proxyDependiendo de sus requisitos de autenticación, el
HTTP_PROXY
valor puede ser tan simple como:O más complejo como otros han señalado
fuente
para cualquiera que esté haciendo un túnel con SSH; puede crear una versión del
gem
comando que use el proxy SOCKS:socksify
congem install socksify
(deberá poder realizar este paso sin proxy, al menos)Copia tu gema existente exe
Ábralo en su editor favorito y agréguelo en la parte superior (después del shebang)
Configura tu túnel
Ejecute su comando gema con proxy_gem
fuente