Amazon S3 정적 웹 사이트 용 HTTPS [닫힘]


90

Amazon S3 및 CloudFront를 사용하여 HTTPS 전용 정적 웹 사이트를 호스팅하고 싶습니다. 지금까지 내가 한 작업은 다음과 같습니다.

  1. 정적 웹 사이트 호스팅을위한 S3 버킷을 설정하고 여기에 웹 사이트 파일을 넣습니다.
  2. CloudFront 배포를 생성하고 S3 버킷을 가리킴
  3. wwwCloudFront 버킷을 가리키는 하위 도메인에 대한 내 도메인의 이름 서버에 CNAME 레코드를 추가했습니다 .

지금까지 매우 좋았습니다 www.example.com. 주소를 사용하여 내 웹 사이트에 액세스 할 수 있습니다 . 하지만 GoDaddy에서 SSL 인증서를 구입 한 HTTPS를 통해서만 사이트를 사용할 수 있기를 원합니다.

이제 질문은 다음과 같습니다.

  1. S3 호스팅 웹 사이트에이 타사 SSL 인증서를 설치하는 방법이 있습니까?
  2. 이 설정으로 자동 http에서 https로 리디렉션하는 방법이 있습니까?

1
무료로 할 수 있습니까?
— Piyush S. Wanare 2011

Amazon에서 무료로 SSL 인증서를받을 수 있으며 자동으로 갱신됩니다. aws.amazon.com/certificate-manager 달러 기호 아이콘까지 아래로 스크롤합니다.)
— Costa

1
이 질문은 프로그래밍을 다루지 않기 때문에 주제에서 벗어난 질문으로 종결 할 것입니다
— Zach Saucier

1
질문을 ServerFault로 옮기지 않는 이유는 무엇입니까?
— nu everest

@nueverest 마이그레이션하기에 너무 오래 되었기 때문입니다.
— gre_gor nov.

답변:


63

예, 오늘부터 무료로 할 수 있습니다.

이제 SNI (Server Name Indication)를 사용하는 사용자 지정 SSL 인증서를 지원하므로 CloudFront에서 CNAME과 함께 HTTPS를 사용할 수 있습니다. http://aws.typepad.com/aws/2014/03/server-name-indication-sni-and- http-redirection-for-amazon-cloudfront.html

큰 문제없이 S3의 CloudFront 분산 정적 사이트에 대해 무료 클래스 1 StartSSL 인증서를 설정했습니다 (참조 : SNI를 사용하여 HTTPS를 통해 제공 할 때 CloudFront 오류 ).


7
자세한 안내 : bryce.fisher-fleig.org/blog/...
— elado

3
피드백 : 브라이스 피셔의 가이드는 매우 좋았습니다.
— tresf

6
여기에 미묘함이 있습니다. 웹 사이트 호스팅 용으로 구성되지 않은 경우 S3 버킷에 대해 HTTPS를 사용할 수 있습니다 . "웹 사이트 엔드 포인트는 https를 지원하지 않습니다."라는 메모를 참조하십시오.
— skeller88

6
좋아요, "미묘함"을 넘어서 평범한 영어로 설명하기 위해 여기에 제 사진이 있습니다. 정적 웹 페이지 콘텐츠 (html)가 포함 된 S3 버킷은 몇 번의 클릭만으로 웹 사이트로 전환 할 수 있습니다. 이 웹 사이트는 http 만 사용할 수 있습니다. https를 원하면 AWS의 Cloudfront 서비스를 사용하고 SNI가 https를 무료로받을 수 있도록 구성해야합니다. (몇몇 아주 오래되었거나 특이한 브라우저는 SNI를 지원하지 않습니다.) html 및 기타 리소스는 저렴한 비용으로 S3에 저장할 수 있습니다. 또한 AWS에서 도메인 이름을 얻은 경우 Elastic Load Balance 서비스를 사용해야합니다. 수수료는 공연 당 몇 센트입니다.
— Mike_Laird 2016-08-04

5
이 답변이 정답을 받았다는 사실이 놀랍습니다. @ skeller88이 언급했듯이 s3 https는 웹 사이트 호스팅에서 작동하지 않습니다.
— abbood

36

2016 년 1 월 21 일에 AWS는 Elastic Load Balancer 및 Cloud Front (S3와 함께)에서 사용할 SSL 인증서를 발급 할 수 있는 무료 서비스 인 AWS Certificate Manager를 출시했습니다 .

https://aws.amazon.com/certificate-manager/ 에서 자세히 알아볼 수 있습니다.

또한 AWS의 무료 SSL을 사용하여 S3 + Cloudfront 웹 사이트를 배포하는 방법은 https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on 에서 확인할 수 있습니다. -aws /


1
나는 오늘 아침에 내 사이트에 이것을 설정했습니다. s3에서 호스팅되는 정적 사이트입니다. 그것은이었다 매우 편리합니다. 간단히 acm 관리자에게 가서 인증서를 요청하고 내 이메일 설정을 몇 시간 동안 처리 한 다음 (확인 이메일을 기다리는 동안 내 WHOIS 정보를 공개하게 됨) cloudfront 엔드 포인트를 가리 키도록 route53을 설정했습니다. . 이 댓글을 발견하면 매우 기쁩니다.
— 편집증 환자

1
@paranoid 이것으로 s3 웹 사이트를 https 전용으로 호스팅 할 수 있습니까?
— Piyush S. Wanare 2011

1
@ PiyushS.Wanare 예, 할 수 있습니다!
— barbolo

Route53의 CNAME 레코드에 HTTPS 링크를 넣습니다.
— Costa

@paranoid "cloudfront endpoint"가 무슨 뜻인지 잘 모르겠습니다 .. 해당 정보는 어디서 얻습니까?
— abbood

17

오늘부터 Cloudfront는 사용자 지정 SSL을 제공합니다. http://aws.amazon.com/cloudfront/pricing/

명심하십시오, 그들은 $ 600 / 월을 청구합니다. 위 링크에 대한 자세한 내용.


7
600 / 월 ......
— Pacerier 2013-08-13

11
전용 IP 주소를 원하면 600 달러 만 지불하면됩니다. 당신이 (이전 버전의 브라우저에서 지원되지 않습니다) SNI를 사용하는 것이 행복 경우, 별도의 요금이 적용되지 않습니다
— 마틴 OConnor

2
최신 브라우저 만 지원하려는 경우 (SNI를 통해) 훨씬 저렴합니다. aws.amazon.com/about-aws/whats-new/2014/03/05/…
— Andrew Newdigate

이것은 지금 무료입니다! aws.amazon.com/certificate-manager 달러 기호 아이콘까지 아래로 스크롤합니다. 또한 자동으로 갱신되는 것 같습니다. 인증서에 원하는 도메인을 입력하고 다음 이메일의 유효성 검사 링크를 클릭하면 설정이 간단합니다.
— Costa

3

저에게는 간단한 React 웹 사이트를 S3에 업로드해야했습니다. Barbolo가 설명했듯이 SSL을 통해 사이트에 액세스하려면 인증서가 필요합니다. 배포하려는 정적 사이트가 충분히 간단한 경우 다음을 수행 할 수 있습니다.

  1. S3에 업로드합니다.
  2. 함 되지 선택 "정적 웹 사이트 호스팅"
  3. 모든 상대 링크 (css, js 등)를 절대 링크로 변환합니다.

예를 들어 /css/media.css에서 https://s3-region-amazonaws.com/bucket-name/css/media.css 로 변환해야합니다 (저는 index.html의 링크 만 변경해야했습니다).

  1. 버킷의 콘텐츠 만 공개합니다.

그게 다야. https를 통해 색인 파일에 액세스 할 수 있습니다.

단순 사이트는 일부 css 및 js 페이지를 가리키는 기본 index.html 파일이있는 사이트입니다.


대박. 감사합니다
— user1874634

앱이 프로덕션을 대상으로하는 경우 이것은 나쁜 생각입니다.
— Sébastien

sébastien이 왜 이것이 나쁜 생각인지 더 자세히 알려주십시오. 버킷이 아닌 객체에 대한 공개 읽기 액세스 권한을 부여합니다.
— alexopoulos7

가장 좋고 간단한 방법이지만 응용 프로그램의 모든 단일 파일에 대해 요청이 인터넷으로 이동하여 응용 프로그램의 성능이 저하된다는 점을 기억하십시오. 이 시나리오에서는 CloudFront를 사용하는 것이 가장 좋습니다.
— Nitesh B.

@ NiteshB.CloudFront는 S3 객체를 자주 업데이트해야 할 때 골칫거리입니다
— Dustin Sun

0

@wikichen의 답변 외에도.

출처 : https://aws.amazon.com/cloudfront/custom-ssl-domains/

기본적으로 URL에 CloudFront 배포 도메인 이름 (예 : https://dxxxxx.cloudfront.net/image.jpg) 을 사용하여 HTTPS를 통해 최종 사용자에게 콘텐츠를 전송할 수 있습니다 .

자체 도메인 이름과 자체 SSL 인증서를 사용하여 HTTPS를 통해 콘텐츠를 제공하려는 경우 사용자 지정 SSL 인증서 지원 기능 중 하나를 사용할 수 있습니다.

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