호스트 파일 리디렉션이 실패하는 이유는 무엇입니까?

호스트 파일 리디렉션이 실패하는 이유는 무엇입니까?

내 Mac에서 이 /etc/hosts 파일을 사용하여 재미와 학습을 위해 google.com을 내 로컬 컴퓨터로 리디렉션하려고 합니다.

127.0.0.1 www.google.com

하지만 Mac의 Chrome에서 www.google.com을 방문하면 www.google.com이 여전히 Google 홈 페이지로 매핑됩니다. 왜?

기본적으로 이것이 내가 한 전부입니다.

  1. 터미널에 입력하세요 sudo vim /etc/hosts.
  2. 127.0.0.1 www.google.com호스트 파일에 입력됩니다 .
  3. vim을 저장하고 종료했습니다.

답변1

파일 hosts이 이런 식으로 작동하지 않습니다. 호스트 이름을 IP 주소가 아닌 IP 주소로 매핑하는 데에만 사용할 수 있습니다 localhost.

귀하의 경우에는 를 사용합니다 127.0.0.1 www.google.com. 즉, www.google.com을 127.0.0.1에 매핑합니다.

단일 IP에 더 많은 호스트 이름을 매핑하려면 해당 호스트 이름을 같은 줄에 추가하면 됩니다(예: ) 127.0.0.1 www.a.com www.b.com.

답변2

웹 브라우저는 hosts구문이 올바른지 확인하는 가장 좋은 방법은 아닙니다. 실행해 보세요

ping www.google.com

그리고 ping이 울리는지 확인합니다 127.0.0.1.

Chrome이 파일을 무시하는 것처럼 보이는 이유 hosts는 캐싱 때문입니다.

Chrome이 최근에 이미 IP를 쿼리한 경우(최근에 대한 정의는TTL(수명)hostsDNS 서버에서 반환됨), 이미 파일을 우회하므로 파일을 우회합니다 .알고 있다올바른 IP. 이는 웹 탐색 속도를 높이기 위해 수행됩니다.

Chrome이 새 항목을 존중하도록 하려면 다음을 수행하세요.

  1. @Renan이 설명한 대로 편집하세요 /etc/hosts.

  2. 이동 chrome://chrome/settings/clearBrowserData.

  3. 선택하다 since the beginning of time.

  4. 을 선택 Empty the cache하고 나머지는 모두 선택 취소합니다.

  5. 클릭 Clear browsing data하고 완료될 때까지 기다리세요.

  6. Chrome을 다시 시작하세요.

이제 Chrome은 파일을 존중해야 합니다 hosts.

답변3

Ubuntu 16.04용 Fortinet SSL VPN을 통해 사무실에 연결하고 있기 때문에 내 대답은 위의 내용을 조합한 것입니다.

가장 먼저 해야 할 일은 터미널 콘솔을 열고 다음 명령을 실행하는 것입니다.

sudo nano /etc/resolvconf/resolv.conf.d/base

다음 예제를 추가했습니다.

searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

그런 다음 를 눌러 파일을 저장 CTRL-O하고 를 눌러 nano를 닫았습니다 CTRL-X.

그런 다음 다음을 수행했는데 완벽하게 작동했습니다.

Chrome이 새 항목을 존중하도록 하려면 다음을 수행하세요.

@Renan이 설명한 대로 편집하세요 /etc/hosts.

  1. 이동 chrome://chrome/settings/clearBrowserData.
  2. 태초부터 선택하세요.
  3. 캐시 비우기를 선택하고 나머지는 모두 선택 취소합니다.
  4. 인터넷 사용 기록 삭제를 클릭하고 완료될 때까지 기다립니다.
  5. Chrome을 다시 시작하세요.

이제 Chrome은 호스트 파일을 존중해야 합니다.

관련 정보