특정 호스트 이름을 다른 호스트 이름으로 다시 쓰는 사실상의 방법이 있습니까? /etc/hosts
IP 대 호스트 대신 호스트 대 호스트 와 같습니다 . 이것이 가능합니까, 아니면 이 호스트에 대한 로컬 DNS cname을 생성해야 합니까?
댓글 업데이트
원격 도메인으로 확인되는 로컬 이름을 사용하고 싶습니다. 브라우저는 단지 예일뿐입니다. 저는 실제로 인터넷에서 리소스를 요청하는 iOS 앱을 작성하고 있지만 에뮬레이터 전용 실행에는 로컬 이름을 사용하고 싶습니다. 즉, 내 애플리케이션에서 다음을 요청하고 싶습니다.http://localalias/하지만 시스템은 실제로http://remotehost.com/.
답변1
DNS CNAME은 이를 달성하는 실용적인 방법입니다.
편집하다:아래 댓글들을 보면...
나는 당신이 원하는 것을 할 수 없다고 생각합니다. 주소가 주소가 아닌데도 주소인 것처럼 생각하도록 브라우저나 다른 프로그램을 속이려고 합니다. 문제는 원격 서버가 어떤 사이트를 제공할지 알 수 있도록 원하는 리소스의 이름도 전달한다는 것입니다. 특정 IP 주소에서 여러 사이트를 호스팅할 수 있습니다. 브라우저는 요청의 일부로 원하는 사이트를 보내고, 단순히 DNS 해커를 통해 트래픽을 다시 라우팅하는 것만으로는 충분하지 않습니다. 왜냐하면 브라우저는 원격 사이트가 모르는 리소스 이름을 요청하기 때문입니다.
로컬 시스템에 완전한 프록시 시스템을 설정해야 합니다. 사용자를 원격 리소스로 리디렉션하려면 표준 브라우저 헤더로 응답해야 하거나, 원격 리소스 자체를 가져온 다음 데이터를 전달해야 합니다. 이는 Apache, Squid 또는 기타 프록시 및 http 호스팅 솔루션을 통해 수행할 수 있습니다. 시나리오에 대한 자세한 내용을 제공하면 더 구체적으로 설명할 수 있습니다.
답변2
각 라인/etc/호스트형식은 다음과 같습니다.
ip fqdn aliases
어디:
- 아이피호스트의 IP 주소입니다.
- 전체 도메인 이름
A
DNS 정규화된 이름(PTR
DNS 및 레코드에 입력할 이름) 입니다. - 별명동일한 호스트에 대한 대체 이름의 (비어 있을 수도 있음) 목록입니다(이러한 내용은
CNAME
DNS에 기록됩니다).
따라서 대체/로컬 이름을 추가할 수 있습니다.별명부분. 예를 들어 웹 애플리케이션이 이미 설치되어 있지만 http://127.0.0.1:80
프로덕션 사이트 이름을 사용하여 테스트하려는 경우 http://webapp.example.org
다음과 같이 작성합니다 /etc/hosts
.
127.0.0.1 localhost.localdomain localhost webapp.example.org