
화이트 라벨 웹 애플리케이션을 사용하는 클라이언트가 있습니다. 해당 URL은 Portal.client.com입니다. URL이 CNAME app.company.com을 가리키도록 요청했을 때 그들은 A 레코드여야 한다고 말했습니다.
저는 IP 주소를 변경해야 하는 경우 각 클라이언트에게 연락하여 DNS 레코드를 업데이트하는 대신 한 곳에서 이를 수행할 수 있어 양측 모두의 시간과 번거로움을 절약할 수 있기 때문에 CNAME이 이상적이라고 주장했습니다.
그리고 제가 그들로부터 받은 답변은 다음과 같습니다.
CNAME이 URL 리디렉션이라는 사실이 가장 좋은 접근 방식은 호스팅 공급자 웹 서버에 A 레코드를 설정하는 것입니다. 이는 최종 사용자가 브라우저 수준에서 우려하는 한 CNAME이 계속해서 제3자 URL을 가장한다고 보장할 수 없기 때문에 보다 안전한 접근 방식을 제공합니다.
이제 그 중 어느 것도 나에게는 이해가 되지 않습니다. 무엇보다도 CNAME은 URL 리디렉션이 아닙니다. 어떤 상황에서 A 레코드가 CNAME보다 더 좋고 더 안전한 접근 방식인지, 그리고 이 경우 적용 가능한지 누군가 밝힐 수 있습니까?
감사해요,
답변1
CNAME이 덜 안전한 상황은 실제로 생각할 수 없습니다.
별칭이 영역( client.com
-> company.com
)에 걸쳐 있기 때문에 끝점이 client.com
의 관리 제어에 속하지 않기 때문에 안전하지 않다고 주장할 수도 있습니다. 그러나 클라이언트는 귀하의 애플리케이션을 사용할 만큼 충분히 귀하를 신뢰하므로 귀하가 기록을 엉망으로 만들지 않는다고 신뢰하지 않는 것이 좋습니다 app.company.com
.
시스템 관리자의 관점에서 볼 때 나는 귀하가 제안한 대로 CNAME을 갖고 싶지만 그냥 짜증나고 고객을 행복하게 만들 수도 있습니다 :).
답변2
아니요, CNAME 레코드는 A 레코드보다 덜 안전하지 않습니다.
실제로 이러한 유형의 상황이 애초에 CNAME이 존재하는 이유와 정확히 같습니다.
에서RFC 1034 섹션 3.6.2. 별칭 및 정식 이름:
호스트 및 기타 리소스에는 동일한 리소스를 식별하는 여러 이름이 있는 경우가 많습니다. 예를 들어, C.ISI.EDU 및 USC-ISIC.ARPA라는 이름은 모두 동일한 호스트를 식별합니다.
CNAME은 실제로 URL 리디렉션이 아니라는 점도 언급해야 합니다. DNS 쿼리는 서버에 연결되기 전에 발생하며 간단하게 클라이언트에 세션에 사용할 IP 주소를 제공합니다. 클라이언트는 원래 요청된 URL이 무엇인지 여전히 알고 있습니다.
답변3
~ 안에이론가정귀하의 애플리케이션은 다양한 도메인으로 다중 테넌트되도록 설계되었습니다. ...실질적인 차이는 없습니다.
이름은 그렇지 않아'리디렉션', 그들은별칭. 이는 단순히 리소스의 대체 이름일 뿐입니다.과거귀하의 애플리케이션이 DNS 조회를 신경쓰지 않을 것입니다.
이는 최종 사용자가 브라우저 수준에서 우려하는 한 CNAME이 계속해서 제3자 URL을 가장한다고 보장할 수 없기 때문에 보다 안전한 접근 방식을 제공합니다.
기술적으로 말하면 말이 안 됩니다. 나는 A 이름에 대한 통제권을 잃는 것을 고려할 것입니다. 귀하의 응용 프로그램이 실행되는 IP 주소에 대한 통제권을 잃는 것보다 다소 덜 끔찍하고 부주의합니다.
또한 다른 cname을 가리키는 cname을 가져서는 안 됩니다(그러나 그럴 수도 있습니다).
그리고 뭐, 지키지 못할 이유는 없지이것고객은 귀하의 기록 보관이 충분하다고 가정하고 다른 고객을 Cname으로 유지한다고 가정하고 A 이름에 만족합니다. 서비스 요금을 추가하고 SLA를 조정하세요.
답변4
company.com의 DNS 서버가 손상된 경우 A 레코드가 CNAME 레코드보다 더 안전합니다. 또한, 될매우nitpicking을 수행하면 추가 이름 확인으로 인해 CNAME 레코드에 약간 더 많은 시간이 필요합니다. 이 외에도 큰 차이는 없으며 실제로 Amazon Web Services와 같은 많은 인터넷 클라우드 서비스에는 클라이언트 도메인에 대해 CNAME을 설정하는 습관이 있습니다.
또한 URL은 다음과 같습니다.http://portal.client.com/myapp/foobar.html. CNAME은 URL을 가리킬 수 없으며 호스트 이름만 가리킬 수 있습니다. 그들의 응답으로 볼 때 귀하의 고객은 자신이 말하는 내용을 모르는 것 같습니다. 당신은 그들의 무지함에 맞서 싸우고 싶지 않을 수도 있고 @Joe가 제안한 것처럼 A 기록을 세우는 데 빠져들고 싶을 수도 있습니다.