도메인을 다른 도메인으로 로컬로 리디렉션하려면 어떻게합니까?


26

내 / etc / hosts 파일은 다음과 같습니다.

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

처음 두 작품. 마지막은 그렇지 않습니다. 왜 안돼? 어떻게 작동합니까? 내가하고있는 이유는 로컬 네트워크에있는 테스트 서버 (othersite.com)가 있지만 IP가 다를 수 있기 때문입니다. 예 : 10.20.7.98 하루, 10.20.7.35 하루 등

따라서 시스템이 항상 testsitebeta.dev를 othersite.dev와 동일한 IP로 확인하도록하려면 어떻게해야합니까?

답변:


11

Chris가 이미 쓴 것처럼 문제는 "othersite.dev"가 숫자가 아니라는 것입니다. 필요한 형식은 IP hostname1 [hostname2] [hostname3]입니다.

그러나 더 깊은 문제는 호스트 파일과 일반적으로 DNS에 대한 오해입니다. 기본적으로 호스트 파일은 리디렉션을 위해 설계되지 않았습니다. CPU 사이클이 비싼 곳에서 돌아온 간단한 솔루션이었습니다. 파일을 수동으로 편집 할 필요없이 빠르게 변화하는 IP 주소로 조정하는 기능과 같은 기능이 부족했습니다. 이러한 문제는 호스트 파일에서 네트워크 기반 리졸버 시스템으로 전환하여 해결되었습니다.

따라서 문제에 대한 진정한 대답은를 /etc/hosts사용하는 것이 아니라이 계층 적 분산 명명 시스템을 대신 사용하는 것입니다. 여러 가지 방법으로 그렇게 할 수 있습니다. 한 가지 방법은 Chris가 제안한 CNAME입니다. 다른 방법은 두 번째 서버에 고정 IP 주소를 제공하는 것입니다. 실제 고정 주소이거나 DHCP 서버에서 예약합니다.


1
내가 찾고있는 답변이 아닙니다. 이것은 개발을위한 것입니다. 도메인 이름 (testsitebeta.dev)은 내 로컬 이외의 곳에서 액세스 할 필요가 없으므로 다른 컴퓨터를 수정하고 싶지 않습니다. 컴퓨터에 "이름 X를 Y 인 것처럼 취급하십시오."
Benubird

3
이 경우 로컬 DNS 서버를 설치하고이를 확인 자로 사용하려고합니다.
Hennes

4
로컬 DNS 서버가 해결책 인 것 같습니다. 다음 방문자에게 도움이되었습니다 : superuser.com/q/45789/75287
Benubird

@ Benubird : 나는 또한 같은 해결책을 찾고 있습니다. 그러나 그것을 얻을 수 없습니다. 설정 방법에 대해 좀 더 설명해 주시겠습니까?
Jay Chakra

3

/ etc / hosts의 형식은 "IP" "Hostname"입니다. 127.0.0.1 localhost

필요한 CNAME것을 달성하려면 로컬 DNS 서버에이 있어야합니다. "testsitealpha.dev"에서와 같이 "othersite.dev"의 IP를 가져 와서 "testitbeta.dev"에 링크 할 수 있지만 IP가 변경되면 /etc/hosts파일도 변경해야 합니다.


1

othersite.com에 동적 IP가 있지만 항상 이름으로 액세스 할 수있는 경우 항상 이름으로 참조하여 등록 된 DNS에 의존해야합니다.

귀하의 솔루션은 testsitebeta.dev를 othersite.com의 리디렉션 URL로 만드는 것입니다.

ServerName testsitebeta.dev 리디렉션 / http://othersite.com

이렇게하면 othersite.com이 항상 작동하고 (호스트 항목이 잘못되어도 중단되지 않음) testsitebeta.dev는 이름을 올바른 IP로 확인하여 항상 othersite.com으로 리디렉션됩니다.

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