A 레코드 및 CNAME 레코드 만 사용하여 도메인 A를 도메인 B로 리디렉션하는 방법


46

다른 호스트로 호스팅 된 2 개의 도메인이 있습니다. 도메인 A를 도메인 B로 리디렉션해야합니다. 불행하게도 호스트 A에서 301 리디렉션을 수행 할 수 없지만 호스트 A에서 DNS 항목 (A 레코드 및 CNAME) 만 수정 / 추가 할 수 있습니다.

A 레코드와 CNAME 만 사용하여 www.DomainA.com을 www.DomainB.com으로 리디렉션 할 수 있습니까?

현재 DNS 항목은 다음과 같습니다.

DomainA.com.    3600    IN    SOA       ns1.HostA.net.
www             3600    IN    CNAME     www.DomainB.com.    
DomainA.com.    3600    IN    NS        ns1.HostA.net.  
DomainA.com.    3600    IN    NS        ns2.HostA.net.  
DomainA.com.    3600    IN    NS        ns3.HostA.net.

리디렉션하고 싶습니다

DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com

다른 게시물 의 제안을 시도했지만 작동하지 않았습니다.

A- 레코드 및 CNAME으로 만 이것을 달성하려면 어떻게해야합니까? 조언 고마워.

Prembo.


2
어떤 종류의 리디렉션을 원하십니까? DNS는 없습니다 어떤 식 으로든에서 HTTP 리디렉션처럼 행동 할 수있는 - 그것은 브라우저 혼자 DNS에 액세스하려고 어떤 호스트 변경할 수 없습니다.
Shane Madden

301 리디렉션이 이상적이며 가까운 장래에 수행하려는 것임을 이해합니다 (불행히도 도메인 A는 다른 50 일 동안 호스트 A에 고정되어 있으며 잠금 기간으로 인해 이전 될 수 없으며 호스트 A는 ' 추가 '패키지'를 지불하지 않는 한 HTTP 리디렉션을 수행하십시오.) 따라서 당분간은 도메인 A를 호스트 B로 옮기기 전에 도메인 A에서 도메인으로 트래픽을 리디렉션하려고합니다.
Prembo

1
DNS 는 리디렉션을 수행 할 수 없습니다 . DNS가 수행 할 수 있는 유일한 작업은 별칭입니다 (하나의 이름은 복사본처럼 다른 이름과 동일하게 보입니다). 한 장소에 도착한 사람들을 다른 장소로 보내는 것과는 다릅니다.
Chris S

HTTP 리디렉션과 DNS 확인 / 위임의 차이점을 명확히 해 주셔서 감사합니다. 지금은 이해.
Prembo

답변:


38

따라서 리디렉션은 앱 수준 (예 : Apache / Nginx / whereever)에서 발생하는 것이 아니라 DNS 확인에서 발생합니다. DNS 요청이 DomainB의 IP로 해결되기를 원하는 설명에 따라 DomainA가 호스트되는 호스트는 적중하거나 적중되지 않아야합니다. 요청에 빠진 것이 없다면?

Shane이 지적했듯이 DNS는 HTTP 리디렉션이 불가능합니다. 이것은 응용 프로그램 / 웹 서버의 의무입니다. DomainA와 DomainB를 DNS의 동일한 IP로 확인하면 모두 작동합니다. 그러나 URL / 경로 당 방법 으로이 작업을 수행하려는 경우 불가능합니다-DNS는 불가능합니다-간단한 DNS-> IP 서비스이므로 실제 URL에서 발생하는 일은 웹 서버의 작업입니다.

아래의 주석 후에, 내가 할 일은 DomainA에 대한 모든 DNS 레코드를 DomainB가 가리키는 것과 동일한 IP로 참조하는 것입니다.이 방법으로 hostB에 대한 HTTP 요청을 얻을 수 있습니다. 단순한 문제입니다.

  1. 고유 한 DocumentRoot에서 파일을 제공 할 특정 Apache 이름 기반 가상 호스트 작성
  2. 다음과 같이 Apache에서 영구 리디렉션을 작성하십시오.

그러면 같은 서버 나 다른 곳에서 호스팅 할 수있는 DomainB로 DomainB로 들어오는 모든 내용이 다시 작성됩니다. 두 번째 옵션은 아마도 오버 헤드이며 아파치에서 이름 기반 가상 호스트를 만들 수 있다면 허용되지 않을 것입니다.

<VirtualHost *:80>
  ServerName DomainB
  Redirect permanent / http://DomainA/
</VirtualHost>

1로갑니다.-DomainA의 모든 DNS 레코드가 DomainB가 가리키는 것과 동일한 IP를 가리키고 Apache에서 특정 이름 기반 VirtualHost를 만듭니다.


네, 당신은 올바르게 이해합니다-위의 내 의견을 참조하십시오. 그렇다면 목표를 달성하는 데 어떤 DNS 항목이 도움이됩니까? 호스트 A에는 웹 호스팅이 없으며 도메인 만 있습니다. 도메인 A의 모든 트래픽이 도메인 B로 해결되기를 바랍니다. 시간 내 주셔서 감사합니다.
Prembo

domain B기존 가상 호스트에 ServerAlias 를 추가하는 것과 동일 domain A합니까?
BadHorsie

9

다른 사람들이 언급했듯이 DNS만으로는 HTTP 리디렉션을 수행 할 수 없습니다. DNS와 HTTP는 함께 작동하여 한 웹 페이지에서 다른 웹 페이지로 사용자를 리디렉션합니다.

DNS 자체를 사용하여 도메인 A가 도메인 B와 동일한 콘텐츠를 표시하도록 할 수 있지만 웹 브라우저는 URL에 도메인 A를 표시합니다. SEO 관점에서는 나쁘기 때문에이 점에 매우주의해야합니다. "중복 된 콘텐츠"에 문제가 생기면 검색 엔진이이를 처벌합니다.

이 작업을 수행하는 올바른 방법 (UX 및 SEO 관점에서)은 도메인 A에서 도메인 B로 HTTP 리디렉션을 수행하는 것입니다.

기술적으로 가능한 경우 웹 서버 (Apache, Nginx, IIS 등)를 수동으로 구성하여이 작업을 수행 할 수 있습니다. 웹에 도움이되는 좋은 자료가 많이 있습니다.

인프라를 제어 할 수 없거나 제어하지 않으려는 경우 URL 리디렉션 서비스를 사용하여이 작업을 수행 할 수 있습니다. 저는 EasyRedir 이라는 창립자 이지만 확실히 다른 사람들이 있습니다.


5

도메인 A는 도메인 B와 동일한 IP 주소를 가져야합니다. A 정의에서 B를 참조 할 필요는 없습니다. 웹 브라우저는 CNAME을 리디렉션으로 "따르지"않으며 동일한 호스트 이름을 유지하고 CNAME의 자체 레코드를 사용하여 IP 주소로 확인합니다.

A를 방문 할 때 브라우저에 B가 나타나게하려면 (선택적이며 DNS와 관련이 없음) HTTP 호스트를 일치시키고 웹 서버에서 요청을 리디렉션해야합니다. Apache에서는 mod_rewrite를 사용하여 가상 호스트 정의에서 다음과 같이 수행합니다.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domainB.com$
RewriteRule ^/(.*)$ http://www.domainA.com/$1 [R=301,L]

0

물론 다음과 같은 트릭을 사용하여 리디렉션 할 수 있습니다.

  1. 새로운 표준 주 영역을 만듭니다
  2. 리디렉션하려는 가상 URL과 동일한 이름을 지정하십시오.
  3. 이 가상의 이름이 AD DNS 이름과 다른지 확인하십시오
  4. 다음과 같은 항목으로 레코드를 작성하십시오.

공백 ....................... A ......................... ... ip-addr-2

www ............................ A ....................... ..... ip-addr-2

우리가 여기있는 것은 본질적으로 리디렉션입니다. 유효한 URL은 기존 DNS 기본 DNS 영역을 기반으로 해결됩니다. 가상의 URL이 ip-addr-2로 리디렉션됩니다. 중요한 것은이 항목의 이름이 공백이므로 레코드의 다음 항목으로 넘어가 ip-addr-2로 리디렉션됩니다.


-1

나는 그것을 시도하지 않았지만, 당신이 이것을 할 수 있다고 생각 합니다 :

DomainA.com. CNAME DomainB.com.

이것은 DomainA 영역 파일의 다른 레코드 대신에 사용됩니다. SOA도없고 아무것도 아닙니다.

작업에 관심이있는 도메인에서는 시도하지 마십시오.


SOA를 떠나도 하위 도메인의 해상도가 리디렉션 될 것이라고 믿지 않습니다. DNAME은이 작업을 수행하도록 설계되었지만 아무도 이해하지 못하므로 CNAME과 DNAME은 상호 배타적입니다.
Falcon Momot

2
CNAME나체 / 에펙 스 도메인에는 레코드를 배치 domain.com할 수 없지만 다음과 같은 하위 도메인에는 레코드를 배치 할 수 없습니다.www.domain.com
Petrus Theron

이것은 리디렉션 되지 않으며 www.DomainA.com 만 DomainB의 IP로 확인합니다. 하위 도메인에서만 작동합니다 (네이 키드 domain0이
아님)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.