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

Đang mở
#613 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
38/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
networking

Hướng nghiên cứu

Tái hiện lỗi với một Envoy listener IPv4-only trên 0.0.0.0:12345, sau đó so sánh việc tải http://localhost:12345 với http://127.0.0.1:12345 trên một máy dual-stack. Issue không nêu tệp hoặc test nào; hãy truy vết quá trình phân giải localhost và đường đi kết nối của Nighthawk, và coi công việc hoàn tất khi localhost có thể tiếp cận IPv4 listener một cách ổn định.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
C++
Star
420
Fork
99
Merge trung bình
2 ngày 14 giờ
Pull request đã merge (30 ngày)
17

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của envoyproxy/nighthawk

Tất cả issue của envoyproxy/nighthawk

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.