아마도 www 하위 도메인과 알몸의 꼭지점을 다르게 처리해야 할 것입니다.
1) http://example.com ->https://www.example.com
S3 버킷 대상으로하는 A 별칭 레코드를 사용하는 정점 Route53 및 및 설치로 이동하는 것입니다 리디렉션 벌거 벗은 (정점) 도메인을 처리 할 수있는 가장 쉬운 방법. S3 버킷에서 "모든 요청을 다른 도메인으로 리디렉션"을 활성화하고 https://www.example.com으로 리디렉션 할 수 있습니다.
이 솔루션은 https 요청에 대해 SSL을 종료하지 않으므로 https가 아니라 http 요청에만 작동합니다. http와 https 모두에서 작동하는 솔루션은 # 3을 참조하십시오.
2) http://www.example.com ->https://www.example.com
당신은 동일한 도메인 www가 HTTP => HTTPS 응용 프로그램에서 X-Forwarded-Proto
HTTP 헤더를 사용하여 리디렉션을 수행 할 수 있습니다. http
또는 https
중 하나의 값을 갖습니다. http
을 받으면 https
으로 리디렉션 할 수 있습니다. 당신은 CloudFront를 함께 앞,
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
을 또는 당신의 탄성 콩 줄기 응용 프로그램을 수하고 HTTP =을 구현 :
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
의 nginx 예는 다음과 같이 수 :
아파치 예는 다음과 같을 것이다 > https가 여기로 리디렉션됩니다. '동작 설정'에서 'HTTPS를 HTTPS로 리디렉션'라디오 버튼을 확인할 수 있습니다.
3) https://example.com -> 당신은 example.com과 www.example.com 다루는 주제 대체 이름이있는 SSL의 인증서가 필요합니다
https://www.example.com. AWS Certificate Manager으로 무료로 받으실 수 있습니다. * .example.com과 example.com을 단일 인증서로 처리 할 수있는 "더 많은 이름 추가"를 할 수 있습니다. 인증서 관리자는 Cloudfront와 완벽하게 통합되어 있으므로 좋은 옵션입니다.
CloudFront를 옵션 :
CloudFront를 여기에 꽤 좋은 옵션입니다 - 당신이 앞으로 전체 응용 프로그램 (정점과 WWW)을 사용할 경우 특히.
Cloudfront 내에서 "대체 도메인 이름 (CNAME)"을 사용하려면 example.com과 www.example.com을 모두 추가해야합니다 (쉼표 또는 줄 바꾸기로 구분). 또한 두 도메인을 모두 커버하는 디지털 인증서를 지정합니다.
탄성 콩 줄기 옵션 :!
당신이 당신의 응용 프로그램 계층을 사용하면 정점과 www가 모두 대신 탄성로드 밸런서에서 SSL을 종료 할 수 CloudFront를 사용하고 같은 www가 리디렉션을 구현하지 않으려는 경우 HTTP 서비스 (아파치, nginx 등). 두 도메인 (apex 및 www 하위 도메인)을 모두 포함하는 SSL 인증서를 추가하기 만하면됩니다.
비 www가 리디렉션 구현 :
종료 옵션 중 하나를 사용하면 그러나 당신이 지시하는 301를 반환해야합니다, 다시 탄성 콩 줄기에 당신의 원본 서버로가는 https://example.com에 대한 요청을 얻을 것이다를 브라우저를 응용 프로그램 계층에서 https://www.example.com으로 변경하십시오.
아파치 예 :
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
의 nginx 예 : 에이펙스에 대한
server {
server_name "~^(?!www\.).*" ;
return 301 $scheme://www.$host$request_uri;
}
Route53 별칭 기록 : 솔루션 당신이 Route53 별칭 기록을해야합니다 중 하나와
정점에서 CNAME 레코드가 정점 (알몸) 도메인에 대해 지원되지 않으므로이 작업을 수행 할 수 있습니다. Elastic Beanstalk 대상 또는 Cloudfront 대상을 지정합니다.
어떤 DNS 서비스를 사용하고 있습니까? Route53? –
나는 Elgin Beanstalk에서 NodeJS 응용 프로그램을 nginx 프록시에서 실행했다. 노드가 아닌 nginx를 사용하여 모든 http => https 및! www => www가 리디렉션되도록 구현하는 것이 조금 더 깔끔하고 빠릅니다. .ebextensions를 사용하여이 작업을 수행 할 수 있습니다. http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#nodejs-platform-proxy –