He tenido el mismo problema. Descubrí que java o net :: http no obedecen la opción nonProxyHosts. La mejor forma de evitar esto es modificar la configuración ENV_JAVA para dar cuenta de esto.
Se utilizaron los pasos que tomó para asegurar nonProxyHosts fueron los siguientes:
1) JAVA_OPTS="-Dhttp.proxyHost=192*** -Dhttp.proxyPort=1234 -Dhttp.nonProxyHosts=local|127.0.0.1"
OR
1) JRUBY_OPTS="-J-Dhttp.proxyHost=192*** -J-Dhttp.proxyPort=1234 -J-Dhttp.nonProxyHosts=local|127.0.0.1"
Tenga en cuenta que al menos para los java1.7 nonProxyHosts no deberían tener citas ver here.
Ahora descubro que net :: http o java en sí no cumplen con la opción nonProxyHosts.
Sin embargo, usted puede conseguir alrededor de esto haciendo lo siguiente en JRuby
a = URI("http://someurl")
Net::HTTP.new(a).proxy?.should == true
regex = /$#{ENV_JAVA["http.nonProxyHosts"]}/ #dollar needed to behave as expected
if a.hostname.match(regex)
ENV_JAVA["http.proxyHost"]=nil
end
Net::HTTP.new(a).proxy?.should == false
Espero que ayude.
Pasará las banderas a JVM, pero Ruby's Net :: HTTPClient no las lleva a una cuenta ... –
No estoy muy familiarizado con Net :: HTTPClient, pero no tiene que configurarlo proxy en esa biblioteca también? De la documentación, parece que tienes que jugar con 'ENV [" HTTP_PROXY "]' y 'ENV_JAVA [" http.proxyHost "]', etc. – banzaiman