connection to "localhost" fails with IPv4-only web server if machine has IPv4+IPv6

Aperta
#613 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
networking

Direzione di ricerca

Riproducete il failure con un Envoy listener IPv4-only su 0.0.0.0:12345, quindi confrontate il caricamento di http://localhost:12345 con http://127.0.0.1:12345 su una macchina dual-stack. L’issue non indica file o test; tracciate la risoluzione di localhost e il percorso di connessione di Nighthawk, e considerate concluso il lavoro quando localhost raggiunge in modo affidabile l’IPv4 listener.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
  • Start an Envoy load balancer listening on 0.0.0.0:12345.
  • Try to run a load test to http://localhost:12345.

You may get connection failures on some machines.

Sending the load to http://127.0.0.1:12345 does work.

You may have to be using a machine that supports both IPv4 and IPv6

Tentative theory:

  • Because IPv6 is available, Nighthawk resolves localhost to the IPv6 address ::1.
  • The Envoy is explicitly listening only on IPv4 (0.0.0.0) (if I understand correctly).
  • Connecting to ::1 on port 12345 does not reach the Envoy, which is only listening on all IPv4 addresses.

That is, the issue could be with how Nighthawk resolves "localhost" on a dual IPv4/IPv6 machine.

Lingua principale
C++
Stelle
420
Fork
99
Merge medio
2g 14h
PR unite (30g)
17

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di envoyproxy/nighthawk

Tutte le issue di envoyproxy/nighthawk

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.