У меня была такая же проблема.Я обнаружил, что java или net :: http не подчиняются опции nonProxyHosts.Лучший способ обойти это - изменить настройки ENV_JAVA, чтобы учесть это.
Шаги, которые я предпринял для обеспечения использования nonProxyHosts, были следующими:
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"
Имейте в виду, чтопо крайней мере, для java1.7 у nonProxyHosts не должно быть кавычек, смотрите здесь .
Теперь я обнаружил, что либо net :: http, либо сама java на самом деле не учитывает опцию nonProxyHosts.*
Однако вы можете обойти это, выполнив в 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
Надеюсь, это поможет.