HTTPS proxy is only enabled if the proxied connection is also SSL
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Ruby
- Sterne
- 148
- Forks
- 95
- Ø Merge
- 10 Std. 54 Min.
- Gemergte PRs (30 T.)
- 4
Beschreibung
irb(main):001> require 'net/http'
=> true
irb(main):002> n = Net::HTTP.new('192.0.2.10', 80, '127.0.0.1', 5000, nil, nil, nil, true)
=> #<Net::HTTP 192.0.2.10:80 open=false>
irb(main):003> n.instance_variable_get(:@proxy_use_ssl)
=> true
irb(main):004> n.start
=> #<Net::HTTP 192.0.2.10:80 open=true>
irb(main):005> n.get('/')
Data sent to the listener at 127.0.0.1:5000:
GET http://192.0.2.10/ HTTP/1.1
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept: */*
User-Agent: Ruby
Host: 192.0.2.10
This is due to the proxy SSL socket setup being inside a if use_ssl? block.
https://github.com/ruby/net-http/blob/master/lib/net/http.rb#L1667-L1674
Transporting clear HTTP over a HTTPS proxy is a valid configuration, the library should support this.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in lib/net/http.rb bei den Zeilen 1667-1674 und reproduziere die gemeldete Net::HTTP-Konfiguration mit einem eindeutigen HTTP-Ziel und einem HTTPS-Proxy. Verfolge den Aufbau des Proxy-Sockets und überprüfe, dass unverschlüsselte HTTP-Anfragen über einen HTTPS-Proxy transportiert werden können, ohne die Zielverbindung zu ändern. Bestätige das Verhalten mit einem fokussierten Regressionstest unter Verwendung der gezeigten Konfiguration.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- ruby
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 48/100