Mac을 사용 Jekyll
하고 Vagrant
있습니다. 나는 대신에 Jekyll server
바인딩 할 것을 발견했다 . 또한 기본적으로이 주소로 바인딩합니다. 여전히을 통해 방문 할 수 있습니다 . 그러나 대한이 , 기본 설정 (예 : 0.0.0.0:4000)를 인터넷 액세스가 필요합니다 것으로 보인다. 인터넷 없이는 뛸 수 없습니다 . 작은 버그입니까?0.0.0.0:4000
127.0.0.1:4000
gem server
http://localhost:port
Jekyll
Jekyll server
나도 사용 Vagrant
합니다. 가상 컴퓨터에 설치 Jekyll
하고 Vagrant
Macintosh에서 테스트하기 때문에 Vagrantfile에서 포트 전달 (8080 => 4000)을 설정 했습니다. 기본 설정 (0.0.0.0:4000)을 사용하면 작동합니다. 와 함께 내 사파리에서 방문 할 수 있습니다 http://localhost:8080
. 그러나 인터넷이 없으면 0.0.0.0:4000에 바인딩 할 수 없습니다. 대신 jekyll server -H 127.0.0.1
서비스를 바인딩 하는 데 사용하면 을 통해 서비스를 127.0.0.1:4000
방문 할 수 없습니다 http://localhost:8080
.
누구나 0.0.0.0, 127.0.0.1과 localhost의 차이점을 설명 할 수 있습니까 ? 그리고 왜 차이가이 문제를 일으키는 지 설명 할 수 있습니까?
답변
127.0.0.1
일반적으로 “루프백”또는 로컬 전용 인터페이스에 할당 된 IP 주소입니다. 이것은 동일한 호스트 내에서만 통신 할 수있는 “가짜”네트워크 어댑터입니다. 네트워크 가능 응용 프로그램이 동일한 호스트의 클라이언트에만 서비스를 제공하고자 할 때 자주 사용됩니다. 127.0.0.1
연결을 수신 대기중인 프로세스는 해당 소켓에서 로컬 연결 만 수신합니다.
“localhost”는 일반적으로 127.0.0.1
IP 주소 의 호스트 이름입니다 . 일반적으로 설정됩니다 /etc/hosts
(또는 Windows 어딘가에 “hosts”라는 이름이 붙음 %WINDIR%
). 다른 호스트 이름처럼 사용할 수 있습니다. “ping localhost”를 시도하여 어떻게 해결되는지 확인하십시오 127.0.0.1
.
0.0.0.0
두 가지 다른 의미를 갖지만,이 문맥에서 서버가 수신 대기 할 때 0.0.0.0
“사용 가능한 모든 네트워크 인터페이스를 청취”한다는 의미입니다. 127.0.0.1
서버 프로세스 관점에서 IP 주소 를 가진 루프백 어댑터 는 시스템의 다른 네트워크 어댑터와 유사하므로 수신 대기 서버는 0.0.0.0
해당 인터페이스의 연결도 수락합니다.
그것은 희망적으로 당신의 질문의 IP 측에 대답합니다. Jekyll 또는 Vagrant에 익숙하지 않지만 포트 전달 8080 => 4000
이 어떻게 든 특정 네트워크 어댑터에 바인딩되어 있으므로 로컬에 연결할 때 경로에 있지 않습니다.127.0.0.1
답변
Jekyll의 현재 버전에서 기본값은 http://127.0.0.1:4000/ 입니다.
네트워크에 연결되어 있지만 다른 사람이 응용 프로그램에 액세스하지 못하게하려면 좋습니다.
그러나 응용 프로그램이 모바일 또는 다른 랩톱 / 컴퓨터에서 실행되는 방식을보고 싶을 수 있습니다.
이 경우 사용할 수 있습니다
jekyll serve --host 0.0.0.0
이것은 응용 프로그램을 호스트에 바인딩하고 다음에 다른 호스트에서 연결하기 위해 사용합니다.
http://host's IP adress/4000