From: merch-redmine@... Date: 2020-09-23T22:23:24+00:00 Subject: [ruby-core:100093] [Ruby master Feature#10637] Puppet orchestration on vagrant fails with Error: Non-HTTP proxy URI Issue #10637 has been updated by jeremyevans0 (Jeremy Evans). Backport deleted (2.0.0: UNKNOWN, 2.1: UNKNOWN) ruby -v deleted (ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux-gnu]) Assignee set to akr (Akira Tanaka) Status changed from Open to Assigned Tracker changed from Bug to Feature Currently, open-uri only supports http proxies, not https proxies (you can connect to https sites through an http proxy, though). That's not a bug, it is operating as expected. Switching this to a feature request for https proxy support in open-uri. Note that this would first depend on https proxy support being added to net/http (#16482). ---------------------------------------- Feature #10637: Puppet orchestration on vagrant fails with Error: Non-HTTP proxy URI https://bugs.ruby-lang.org/issues/10637#change-87662 * Author: eshenayo (Eshe Pickett) * Status: Assigned * Priority: Normal * Assignee: akr (Akira Tanaka) ---------------------------------------- I encountered this issue while bringing up a VM using vagrant with virtualbox. I am using puppet to do some provisioning ==> default: Notice: Downloading from https://forge.puppetlabs.com ... ==> default: Error: Non-HTTP proxy URI: https://[proxy]:[port]/ class is: URI::HTTPS ==> default: Error: Try 'puppet help module install' for usage ==> default: Notice: Preparing to install into /etc/puppet/modules ... ==> default: Notice: Downloading from https://forge.puppetlabs.com ... ==> default: Error: Non-HTTP proxy URI: https://[proxy]:[port]/ class is: URI::HTTPS ==> default: Error: Try 'puppet help module install' for usage I put in the print out to see what class in the above output Puppet is using https to download modules, and it hits the open_http function def OpenURI.open_http(buf, target, proxy, options) # :nodoc: if proxy proxy_uri, proxy_user, proxy_pass = proxy raise "Non-HTTP proxy URI: #{proxy_uri} class is: #{proxy_uri.class}" if proxy_uri.class != URI::HTTP end I am new to ruby, so am unsure if this is the expected behavior. I have a work around, I set https_proxy to use the http_proxy, however, this is not by any means a permanent solution. Alternatively, I could change the ruby code to allow both HTTP and HTTPS URIs, please advise. -- https://bugs.ruby-lang.org/ Unsubscribe: