2015-02-05 2 views
0

도메인이 있고 DNS 항목이 AWS Route53을 사용하여 관리하고 있습니다.route 53 CNAME with Nginx

개인 IP 만있는 데이터 센터에는 30 대의 서버가 있으며이 서버에서 호스팅되는 사이트는 공개 IP가있는 nginx 프록시 서버를 사용하여로드하고 있습니다.

이 경우 A 레코드 (예 : * .abc.com A IPofproxy)를 만든 다음 해당 사이트를로드하기 위해 프록시 서버에 일부 리디렉션 규칙을 추가했습니다.

다음과 같이 프록시 서버

리디렉션 규칙은 다음과 같습니다

1.abc.com 리디렉션 2.abc.com은 2.2.2.2

로 리디렉션

1.1.1.1에 3.abc.com

하지만 지금은 CNAME이의 문제에 직면하고,

문제는, 등, 3.3.3.3로 리디렉션 좀 CNAME 레코드를 생성 같은 :

abc.abc.com CNAME 1.abc.com

def.abc.com CNAME 2.abc.com

fgh.abc.com CNAME 3.abc.com 등

그런 다음 위의 모든 도메인 (abc.abc.com, def.abc.com 등)에 액세스하려고 시도했지만 모든 사이트가 리디렉션 규칙에서 처음으로 하나의 서버 만 가리키고 있습니다.

나는 nginx에 새로운 사람이라면 누구든지 나를 고칠 수 있다면 좋을 것이다.

답변

1

구성을 올바르게 이해하고 있다면 발생한 문제는 Route 53 또는 Nginx와 관련이 없습니다.

대신 웹 브라우저가 DNS 항목과 상호 작용하는 방식과 관련이 있습니다. 모든 역방향 프록시 서버에서이 문제가 발생합니다. 당신은 브라우저가 CNAME 항목에 대해 상관하지 않기 때문에, 개별적으로, 프록시의 각 CNAME 항목을 구성해야

- 각 요청과 함께 전송 된 Host: 헤더는 브라우저 시작 호스트 이름이 아닌 호스트 이름입니다 CNAME이 지나간 후 ​​브라우저가 종료되었습니다. CNAME 프록시가 무엇 브라우저의 Host: 헤더를 변경하지 않기 때문에

a.example.com IN A  203.0.113.1 
b.example.com IN CNAME a.example.com. 

b.example.com에 대한 요청은 b.example.coma.example.com에 대한 규칙에 의해 하지에 대한 규칙에 따라 프록시로 연결됩니다 거의 확실하게 라우팅 결정에 사용합니다.

b.example.com에 대한 요청을 원하면 DNS뿐만 아니라 프록시에서 구성해야합니다.

관련 문제