www가 아닌 ​​요청을 Amazon Route 53에서 www로 리디렉션


44

나는 모든 요청을 리디렉션 할 example.comwww.example.com.

바람직하게는 DNS 수준에서 발생합니다. PTR 레코드를 사용해 보았지만 실패하여 404를 반환합니다.

wwww.example.com Elastic Load Balancer의 별칭입니다.

이것을 달성하는 가장 간단한 방법은 무엇입니까?


PTR 레코드로 무엇을 시도 했습니까? 궁금해.
TRiG

@flavian 포스터는 URL 재 작성이 아닌 DNS 재 작성을 요청했으며, URL의 모양에 신경 쓰지 않는다고 구체적으로 말했습니다.
pauska

4
@flavian을 위해 DNS에서 리디렉션을 원한다고 말했습니다. 내 대답은 DNS에서 수행하는 방법을 설명합니다. URL을 리디렉션하려면 URL을 다시 작성해야합니다. DNS와는 아무런 관련이 없습니다.
pauska

그렇게하는 특별한 이유가 있습니까? 나는 다른 방법으로 그것을 할 것 입니다.
nyuszika7 시간

EV SSL의 SAN.
flavian

답변:


50

Route 53을 이미 사용하고 있다면, 독자적인 별명 인 "record"를 사용하여이 문제를 해결할 수 있습니다. 표준 DNS를 사용하면이 작업을 전혀 수행 할 수 없으며 웹 사이트에서 301 리디렉션을 보내야합니다. 물론 여전히 301 리디렉션을 보내거나 일부 요청이 www없이 제공 될 것이라는 사실을 처리해야합니다 (SEO 이유로 301을 보내야 함).

아마 가장 쉬운 방법은 기본 도메인 이름으로 S3 버킷을 설정하고 example.com에서 www.example.com으로 리디렉션하도록 버킷 속성을 구성한 다음 Route 53에서 기본에 대한 별칭을 생성하는 것입니다. 해당 S3 버킷을 가리키는 도메인 이름입니다.

댓글에서

답을 향상시키기 위해 다음과 같이 작업했습니다.

  • 버킷 설정-이름이 중요하지 않으며 공개를 허용해야합니다.
  • 버킷에서 속성을 클릭하고 정적 웹 사이트 호스팅을 클릭하십시오. 모든 요청을 다른 호스트 이름으로 리디렉션을 클릭하고 트래픽을 이동하려는 사이트를 입력하십시오.
  • 버킷 이름의 엔드 포인트를 복사하고 Route53 콘솔에서 호스팅 영역으로 이동 한 다음 리디렉션해야하는 URL에 Alias ​​No가있는 CNAME을 추가하고 버킷 엔드 포인트를 해당 값으로 붙여 넣습니다.

@ michael-hampton 내가 틀렸다면 나를 수정하지만 S3 버킷은 경로가없는 알몸 도메인 이름으로 만 리디렉션됩니다. 내 도메인에 대해 S3 버킷을 올바르게 추가했지만 기본 도메인 만 리디렉션하고 경로가있는 항목은 리디렉션하지 않습니다. 나는 모드 재 작성이 갈 길이라고 생각하고 있습니까?
John Harding

@JohnHarding 나는 몰라. 더 이상 S3를 포함한 대부분의 Amazon AWS 서비스를 사용하지 않습니다.
Michael Hampton

2
대답을 향상시키기 위해 다음과 같이 작업을 수행했습니다.-버킷 설정-이름이 중요하지 않으며 공개를 허용해야합니다. -버킷에서 속성을 클릭하고 정적 웹 사이트 호스팅을 클릭하십시오. 모든 요청을 다른 호스트 이름으로 리디렉션을 클릭하고 트래픽을 이동하려는 사이트를 입력하십시오. -버킷 이름의 엔드 포인트를 복사하고 Route53 콘솔에서 호스팅 영역으로 이동 한 후 리디렉션해야하는 URL에 별칭 번호가있는 CNAME을 추가하고 버킷 엔드 포인트를 값으로 붙여 넣습니다.
NathanQ

4
S3는 https를 지원하지 않으므로 http 요청에만 작동합니다. 요청 https://example.com이 실패합니다.
Harry King

메이크업의에 https://example.com로 리디렉션 https://www.example.com당신을 슬프게 설정에 정적 HTTP 리디렉션 양동이에 다른 CloudFront를 가리키는 필요합니다 www.example.com. CNAME클라우드 프론트 구성 의 필드에 에이펙스 도메인을 추가해야 합니다.
tuhaj

6

DNS 별칭의 경우 DNS에 CNAME 또는 A 레코드를 추가하기 만하면됩니다. 내 답변보기 : Route53에서 www를 www가 아닌 ​​www로 리디렉션하는 방법은 무엇입니까?

클라이언트를 다른 주소로 리디렉션 할 때와 같이 URL을 다시 쓰려면 웹 서버에서 수행되는 URL 다시 쓰기 논리 형식이 필요합니다. 이 작업을 수행하는 방법에는 여러 가지가 있으며 사용하는 웹 서버 종류에 따라 다릅니다. 가장 인기있는 것은 아파치와 함께 mod_rewrite를 사용하는 것입니다. 이 사이트는 mod_rewrite 질문으로 가득 차 있습니다. 몇 번의 검색으로 원하는 것을 얻을 수 있습니다.


정확히 한 시간 전에 내부 bind9 srv에서 CNAME을 사용했지만 결과는 URL 다시 쓰기와 동일하지 않습니다. 이 CNAME을 브라우저 주소 표시 줄에 입력하면 해당 URL을 정확히 얻을 수 있으며 CNAME이 가리키는 URL로 변경되지 않습니다. 나는 www가 없을 때 301을 보내는 아파치 mod_rewrite를 사용하고 있습니다. 접두사.
Kitet

3
에 대한 답변 은에 보내기 www.domain.com위한 것 domain.com입니다. 이 질문은 그 반대입니다. 사용의 솔루션 하는가 CNAME또는 A보내는 일을 기록 domain.com으로는 www.domain.com?
Carl G

4

s3 버킷을 사용하여이 작업을 수행 할 수 있습니다. 단계는 다음과 같습니다.

1 단계. s3 버킷을 생성합니다.

2 단계. 리디렉션을 통해 정적 웹 사이트 호스팅으로 버킷을 만듭니다.

3 단계. www가 아닌 ​​도메인에 대한 AWS Route 53 항목을 편집합니다.

A – IPv4 주소-> 별칭 예-> 별칭 대상 (드롭 다운에서 s3 버킷 엔드 포인트를 선택).

단계 4. 레코드 세트를 저장하십시오.


0

AWS Route53은 현재 솔루션에서 작업하고 있지만 현재 APEX 레코드 (루트 도메인)를 다른 도메인 이름으로 리디렉션하는 기능을 지원하지 않습니다.

루트 도메인 (devopsfolks.com)을 내 WP 호스팅 솔루션의 IP 주소로 지정하는 A (별칭) 레코드를 작성하여이를 달성했습니다 ... IP가 변경되면 대답은 그렇습니다 별칭을 변경합니다. 그러나 공급자는 일종의 재난 복구를 수행하고 하드웨어를 변경해야하는 경우가 아니라면 고객에게 매핑을 변경하는 데 45 일을 제공하면서 리디렉션을 수행하기 위해 프록시를 함께 배치 할 필요가없는 한 IP가 고정되었음을 보증했습니다.


5
A는 별칭을 의미하지 않으며 주소를 의미합니다. 또한 위에 표시된 S3 버킷 방법을 사용하여 Route 53으로 쉽게 리디렉션 할 수 있습니다.
Michael Hampton

"솔루션을 개발 중입니다"에 대한 업데이트가 있습니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.