Chrome에서 etc / hosts 파일 조작 시뮬레이션


30

표준 etc / hosts 파일이 아닌 로컬에서 호스트 이름 조회를 참조하도록 Chrome을 설정하려면 어떻게해야하나요?

웹 사이트를 디버깅 할 때 특정 도메인을 localhost로 바꾸는 C : \ Windows \ system32 \ drivers \ etc \ hosts에 항목을 설정하면 유용 하므로 웹 사이트 나 도메인의 즉석 버전을 테스트 할 수 있습니다. 실제 실제 사이트와 충돌합니다.

이 프로세스를 시뮬레이션하고 단순화하는 방식으로 Chrome을 설정할 수 있습니까?

확장 프로그램에서 너무 많은 보안 위험이 있더라도 etc / hosts가 수정 된 것처럼 작동하도록 브라우저 인스턴스를 수정하지 않습니다.


이 기능 요청에 별표를 표시하십시오 : bugs.chromium.org/p/chromium/issues/…
Ali

답변:


13

방금 Host Switch Plus Chrome 확장 프로그램을 찾았습니다 .


Host Switch Plus는 나와 다른 많은 사람들에게 작동하지 않습니다.
zylstra

1
Host Switch Plus는 정확히 그렇게하지 않습니다. 프록시를 변경합니다. 그러나 목표는 도메인 IP를 변경하는 것입니다. (DNS 서버
모방

나를 위해 작동하지 않습니다, 죄송합니다.
Serzhan Akhmetov

7

실제 목표 를 달성하는 한 가지 방법 은 Chrome 확장 프로그램이나 Chrome을 전혀 포함하지 않습니다. 그렇게하면 지능형 프록시 HTTP 서버를 설정하고 Chrome을 가리킨 다음 표지 아래에 URL을 다시 쓰는 프록시 서버에 다시 쓰기 규칙을 추가 할 수 있습니다.

다양한 프록시 HTTP 서버를 사용하여이 작업을 수행하는 사람들이 많이 있습니다. 여기에 대한 답변으로 각 서버를 자세히 다루기에는 너무 많습니다. 광고, 웹 버그 등을 재핑 할 목적으로 사용하지만 원칙과 메커니즘은 수행하려는 작업과 동일합니다. 그들은 WWW 브라우저가 정상적으로 특정 URL을 가져 오기를 원하지만 실제 수신되는 컨텐츠는 다른 (로컬 또는 다른) URL의 컨텐츠가됩니다. WWW 브라우저가 알아야 할 유일한 것은 프록시 서버를 통해 인터넷과 통신한다는 것입니다.

예를 들어 SourceForgeAd Zapper를 참조하십시오 . 프록시 서버에서 URL을 즉시 다시 쓰기 위해 Squid 프록시 HTTP 서버와 함께 작동하는 Perl 스크립트입니다. 구성 데이터베이스에서 알 수 있듯이 사람들은 뉴스 서비스에 대한 "인쇄 가능한"기사 형식을 항상 볼 수있게하는 것에서부터 인터넷 포르노 사이트의 무작위 광고 리디렉션을 제거하는 것에 이르기까지 광범위한 목적으로이 메커니즘을 채택했습니다.

이것은 hosts파일 로 수행하는 것보다 훨씬 낫습니다 . 이는 WWW 서비스 조작에 부적합한 메커니즘입니다. hosts이름 → 주소 조회 만 처리 하고 WWW 브라우저를 제외하고 이름 → 주소 조회를 수행해야하는 다른 모든 항목을 숨겨야 하며 (아마도 이미 알고 있듯이) 다시 작성된 모든 호스트 이름을 가상 호스트로 추가로 설정해야합니다. 대상 컨텐츠 HTTP 서버 이와는 대조적으로 이러한 종류의 재 작성 프록시 HTTP 서버는 URL을 다루며 처음에는 HTTP 및 WWW 브라우저를 사용하도록 구성된 WWW 브라우저에만 영향을줍니다.. 따라서 JavaScript URL을 다시 작성하고 동일한 WWW 사이트의 다른 모든 것을 그대로 두는 것과 같은 작업을 수행 할 수 있습니다. 호스트 이름의 전체로드를 하나만 다시 작성하십시오. 패턴 매칭을 수행한다. (Ad Zapper의 구성 데이터베이스에는 바로이 인스턴스가 있습니다.주의) 또한 하나의 WWW 브라우저가 재 작성 프록시를 통해 세상을보고 있고 다른 하나는 동시에 단일 컴퓨터에서 직접 보는 것과 같은 작업을 수행 할 수 있습니다.


크롬 확장에 비해 하나의 추가 이점-크로스 브라우저에서 작동합니다! 지금은 여전히 ​​hosts 파일을 사용하고 있지만 실제로 필요한 경우 프록시로 전환하는 것을 고려할 것입니다.
ripper234

4

HostAdmin을 종교적으로 사용했지만 여전히 사용 하고 있지만 항상 캐시를 비우거나 새로운 시크릿 창을 열어야하는 번거 로움이 있었기 때문에 작년에도 비슷한 상황에 도움이되도록 Chrome 확장 프로그램을 개발했습니다. 최근에 Chrome 웹 스토어에 LiveHosts 라는 매우 거친 버전을 게시했습니다 .

요점은 @JdeBP가 옳고 프록시를 설정하는 것이 올바른 해결책이지만 종종 옵션이 아니라는 것입니다. Chrome 확장 프로그램은 호스트 파일을 변경할 때 발생하는 상황을 정확하게 복제 할 수 없으므로 LiveHosts가하는 일은 다음과 같습니다.

  • 여러 개의 호스트 이름 / IP 항목을 설정할 수 있습니다.
  • 정의 된 호스트 이름 중 하나에 대한 요청을 감지합니다.
  • 적절한 HTTP 호스트 헤더를 사용하여 요청을 원하는 IP로 리디렉션하십시오.
  • 주소 표시 줄 URL에 시각적 참조 (추악한 점은 인정할 것입니다)를 추가합니다 http://127.0.0.1/www.example.com/whateverelse.
  • 다른 탭에서 다른 호스트 / IP 쌍을 동시에 허용합니다.

예쁘지는 않지만 환경을 빠르게 전환하려는 표준 웹 개발자에게는 충분합니다. 물론 몇 가지주의 사항이 있습니다.

  • 서버에 따라 사이트 URL을 참조하는 웹 페이지의 일부 (예 : href 및 src 속성)는 원본과 다를 수 있습니다.
  • window.location JavaScript 스 니펫을 버릴 수있는 다른 값이 있습니다.
  • 대부분의 Cross-Origin 요청은 작동하지 않습니다.

0

가상 호스트 내가 예상대로 나를 위해 일을하는 유일한 하나입니다 플러그인.

호스트 리디렉션이나 DNS가 없어도 서버의 가상 호스트에 액세스합니다.


2
나 에게이 확장은 IP 주소로의 클라이언트 측 리디렉션을 수행하는 것으로 보이지만 호스트 파일 수정과 전혀 다릅니다.
Jeff Ward

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.