레코드 및 CNAME 레코드 변경


11

현재 LAMP랜딩 페이지 페이지, 웹 앱 및 API 모두에 대한 구성을 사용하고 있습니다. 이제 이러한 것들을 여러 가상 서버 (VS)로 나누고 싶습니다. 네트워크 설정이 확실하지 않으며 모든 DNS 구성을 엉망으로 만들기 전에 구성이 중단되는지 이해하고 싶습니다.

방문 페이지는 second level domain(예 :)에서 호스팅되고 myurl.com웹 앱은 하위 도메인에서 호스팅되며 app.myurl.comapi는에서 호스팅 됩니다 api.myurl.com. 또한 preview.myurl.com테스트에 사용되는 미리보기 도메인이 있습니다.

모든 것이 같은 VS에서 호스팅하기 때문에, 나는 현재하고 또한 네 가지 폴더가 ( landing, api, webapp, preview), 각 하위 도메인에 대한 "가상 호스트"로서 그 역할을합니다.

내 DNS 구성은 다음과 같습니다.

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 myurl.com.
app.myurl.com.  CNAME   300 myurl.com.
preview.myurl.com.  CNAME   300 myurl.com.

시작하려면 각 CNAME 항목의 데이터를 현재 VS의 실제 IP로 변경하고 싶습니다. 그래서 다음과 같이 보일 것입니다 :

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 123.123.123.123
app.myurl.com.  CNAME   300 123.123.123.123
preview.myurl.com.  CNAME   300 123.123.123.123

그런 다음 각 하위 도메인을 적절한 VS로 지정하는 것이 좋습니다. 처음에는 모든 하위 수준 도메인 (에 대한 제외 www.)이 여전히 현재 VS를 가리키고 방문 페이지의 두 번째 수준 도메인 (에 대한 A레코드 myurl.com.)은 IP새 VS에 대한 새 도메인 을 가리켜 야합니다 .

질문 :

  1. 이러한 변화는 현재 아파치 서버가 각 하위 폴더에 트래픽을 분산되는 방식에 영향을 미칠 것이다 (즉 landing, api, webapp, preview)? 그렇다면 모든 IP주소가 동일하게 유지 되더라도 ?
  2. 사물을 테스트하기 위해 나머지를 손상시킬 위험없이 data값만 변경하여 시작할 수 preview.myurl.com.있습니까?
  3. VM의 IP에 대한 모든 하위 도메인 (예 : api.myurl.com) 지점되면, 나는 가리킬 수 A의 값이 myurl.com.다른 낮은 수준의 도메인을 손상시키지 않고 다른 IP로를 ( api, app, preview)?

2
질문에서 더 많은 것을 읽지 않으면 ip-addresses와 함께 CNAME 레코드를 사용 A하지 말고 대신 레코드를 사용해야 합니다.app.myurl.com. A 300 10.123.123.123
HBruijn

한 걸음 더 나아가서 CNAME 레코드는 도메인 이름을 가리켜 야하며 IP 주소가 될 수 없습니다. DNS 관리 시스템에서 IP 주소를 CNAME 레코드의 대상으로 지정할 수 있다면 놀랍습니다.
Dre

2
@Dre IP 주소처럼 보이는 CNAME RR에 숫자를 넣을 수 있지만 정규화되지 않은 도메인 이름으로 해석됩니다.
Michael Hampton

답변:


12

주석에서 언급했듯이 CNAME 레코드 대신 A 레코드를 사용해야합니다. CNAME 레코드는 IP 주소를 가리킬 수 없습니다.

각 사이트가 작동하도록하려면 아파치 구성에서 각 가상 서버에 대해 ServerName을 올바르게 지정해야합니다.


고맙습니다. 매우 도움이됩니다. 확실하지 않은 유일한 것은 ServerName에 관한 것입니다. 제대로 작동하려면 어떻게해야합니까? 내 의심은, ServerName이 DNS가 특정 VS로 해석되는 방식에 의해 어떻게 영향을 받습니까?

1
내가 당신을 올바르게 이해한다면, 그렇습니다. 서버 이름은 Apache가 트래픽을 보낼 VS를 아는 방법입니다. DNS에 모든 A 레코드가 설정되어 있으며 모두 123.123.123.123 주소를 가리켜 봅시다. myurl.com을 탐색하면 요청이 123.123.123.123으로 전송됩니다. Apache는 요청을 수신하고 해당 IP에 몇 개의 웹 사이트가 있다는 것을 인식하므로 Apache는 사용자가 보낸 요청을 자세히 살펴보고 브라우저가 myurl.com을 찾고 있음을 알게됩니다. Apache는 각 VS의 Servername 값 중 하나와 일치하는 URL을 찾습니다.
Dre

11

A레코드를 사용 하여 하위 도메인을 가리킴

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