http: // localhost: 3000 hoạt động, nhưng http://127.0.0.1:3000 không


4

Tôi đang xây dựng một ứng dụng Rails trên máy dev cục bộ của mình. Khi chạy máy chủ cục bộ của tôi, tôi có thể truy cập http://localhost:3000mà không gặp vấn đề gì. Tuy nhiên, khi tôi cố gắng điều hướng đến http://127.0.0.1:3000, tôi nhận được một ERR_CONNECTION_REFUSED. Thông thường, tôi sẽ không quan tâm đến vấn đề này, nhưng khi tôi cố gắng truy cập một đường hầm bằng cách sử dụng ngrok, tôi gặp lỗi này:

Tunnel <URL> unavailable

Unable to initiate connection to 127.0.0.1:3000. A web server must be running on port 127.0.0.1:3000 to complete the tunnel.

Tôi đã cài đặt sạch OS X sáng nay và những thứ duy nhất chạy trên hệ thống của tôi là những gì trong dotfiles readme của tôi . Đây là /etc/hoststập tin hoàn chỉnh của tôi :

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 

3
Vấn đề là, khi bạn đang sử dụng localhost, nó sẽ sợ IPv6. Vì vậy, có lẽ máy chủ không chạy trên IPv4 hoặc nhiều khả năng chỉ có cổng IPv6 được cho phép thông qua tường lửa.
YLearn

1
Cuộc gọi tốt Tôi đã khởi động lại máy chủ Rails bằng cách -b ::nghe IPv4 và IPv6 và nó đã hoạt động! Tôi đã không nhận ra Puma sẽ không làm điều này theo mặc định. Bạn có thể ném bình luận của bạn trong một câu trả lời để tôi có thể đánh dấu nó là câu trả lời được chấp nhận không? Cảm ơn đã giúp đỡ!
LandonSchropp

Câu trả lời:


3

Trong tệp máy chủ của bạn, bạn có cả độ phân giải IPv4 và IPv6. Hầu hết các hệ điều hành ngày nay sẽ thích IPv6 nếu có sẵn. Vì localhost đang hoạt động và 127.0.0.1 thì không, đây có thể là vấn đề của bạn.

Có hai điều tôi sẽ kiểm tra trong trường hợp này:

  1. Kiểm tra xem máy chủ / dịch vụ chỉ chạy trên IPv6. Nếu vậy, hãy thay đổi nó để nó chạy trên cả IPv4 và IPv6.
  2. Kiểm tra các quy tắc tường lửa để đảm bảo rằng họ đang cho phép truy cập vào localhost trên cổng đó cho cả IPv4 và IPv6.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.