http : // localhost : 3000은 작동하지만 http://127.0.0.1:3000은 작동하지 않습니다


4

로컬 개발자 컴퓨터에서 Rails 응용 프로그램을 만들고 있습니다. 로컬 서버를 실행할 때 http://localhost:3000문제없이 액세스 할 수 있습니다 . 나는로 이동하려고 할 때 그러나 http://127.0.0.1:3000, 나는 얻을 ERR_CONNECTION_REFUSED. 일반적 으로이 문제는 신경 쓰지 않지만를 사용하여 터널에 액세스하려고 ngrok하면이 오류가 발생합니다.

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.

오늘 아침에 OS X를 새로 설치했으며 시스템에서 실행되는 유일한 것은 내 dotfiles readme에 있습니다. 내 완전한 /etc/hosts파일은 다음과 같습니다 .

##
# 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
확률은 localhost를 사용할 때 IPv6을 두려워하는 것입니다. 따라서 서버가 IPv4에서 실행되고 있지 않거나 방화벽을 통해 IPv6 포트만 허용 될 수 있습니다.
YLearn

1
좋은 전화! -b ::IPv4와 IPv6을 수신하기 위해 Rails 서버를 재부팅 했는데 작동했습니다! Puma가 기본적 으로이 작업을 수행하지 않을 것이라는 것을 몰랐습니다. 답변에 의견을 던져서 답변으로 표시 할 수 있습니까? 도와 주셔서 감사합니다!
LandonSchropp

답변:


3

호스트 파일에는 IPv4 및 IPv6 해상도가 있습니다. 오늘날 대부분의 운영 체제는 가능한 경우 IPv6을 선호합니다. localhost가 작동하고 127.0.0.1이 아니므로 문제가 될 수 있습니다.

이 경우 확인해야 할 두 가지가 있습니다.

  1. 서버 / 서비스가 IPv6에서만 실행 중인지 확인하십시오. 그렇다면 IPv4와 IPv6에서 모두 실행되도록 변경하십시오.
  2. 방화벽 규칙을 확인하여 IPv4 및 IPv6 모두에 대해 해당 포트의 로컬 호스트에 대한 액세스를 허용하는지 확인하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.