Cách định cấu hình SSL cho nhóm Amazon S3


Câu trả lời:


151

Bạn có thể truy cập các tệp của mình thông qua SSL như thế này:

https://s3.amazonaws.com/bucket_name/images/logo.gif

Nếu bạn sử dụng tên miền tùy chỉnh cho nhóm của mình, bạn có thể sử dụng S3 và CloudFront cùng với chứng chỉ SSL của riêng bạn (hoặc tạo một tên miền miễn phí thông qua Trình quản lý chứng chỉ Amazon): http://aws.amazon.com/cloudfront/custom-ssl- tên miền /


42
Điều đó không hoàn toàn đúng. Bạn có thể sử dụng tên xô mà không có dấu chấm: this-is-my-awclaw-bucket.s3.amazonaws.com Amazon có chứng chỉ ký tự đại diện. Vì bạn không thể sử dụng dấu chấm, bạn không thể có một miền CNAME trỏ đến nhóm của bạn.
Tài liệu

4
xem ra cho tên xô chứa thời gian! SSL sẽ không hoạt động trên thiết bị iOS nhưng sẽ hoạt động tốt trong Chrome. Xem stackoverflow.com/questions/3048236/
Mạnh

1
Amazon CloudFront sẽ làm điều này cho bạn.
Greg

3
Để có tên nhóm ký hiệu dấu chấm (để bạn có thể sử dụng bí danh Tuyến 53) và bạn muốn PUT các đối tượng thông qua REST, hãy đảm bảo tên máy chủ khớp với vùng. Ví dụ: xô của tôi nằm trong us-west-2nên tên máy chủ thực sự s3-us-west-2.amazonaws.comnếu không bạn sẽ gặp lỗi.
noetix

1
không có đám mây chúng ta có thể đạt được điều này?
Arun Kumar

28

Các chứng chỉ SSL miền tùy chỉnh vừa được thêm vào hôm nay với giá $ 600 / cert / tháng. Đăng ký lời mời của bạn dưới đây: http://aws.amazon.com/cloudfront/custom-ssl-domains/

Cập nhật : SNI khách hàng cung cấp certs hiện có sẵn miễn phí. Rẻ hơn nhiều so với $ 600 / tháng và với XP gần như bị tiêu diệt, nó sẽ hoạt động tốt trong hầu hết các trường hợp sử dụng.

@skalee AWS có một cơ chế để đạt được những gì người đăng yêu cầu, "triển khai SSL cho thùng Amazon s3", nó được gọi là CloudFront. Tôi đang đọc "hiện thực" là "sử dụng các chứng chỉ SSL của mình", chứ không phải "chỉ đặt một chữ S trên URL HTTP mà tôi chắc chắn OP có thể đã phỏng đoán.

Vì CloudFront có giá chính xác như S3 (0,12 đô la / GB), nhưng có rất nhiều tính năng bổ sung xung quanh SSL VÀ cho phép bạn thêm chứng chỉ SNI của riêng bạn mà không mất thêm chi phí, đó là cách khắc phục rõ ràng cho việc "triển khai SSL" trên miền của bạn.


64
CloudFront không phải là S3.
skalee

6
@skalee Đúng, nhưng nếu bạn muốn truy cập nó thông qua một tên miền với các chứng nhận SSL tùy chỉnh, theo yêu cầu của OP, bạn có thể thiết lập các chứng nhận CNAME SSL tùy chỉnh theo cách này và truy cập thông qua CF.
Joseph Lust

2
Hiện tại, tôi đã thiết lập hai CNAME: static-s3 và static-cf, cái đầu tiên trỏ thẳng vào S3 của tôi, cái thứ hai để CF. Thứ nhất không thể hỗ trợ SSL, thứ hai có thể, nhưng đó là CF chứ không phải S3 như skalee chỉ ra. Đó là điều tốt nhất tôi nghĩ chúng ta có thể làm bây giờ.
Nguy hiểm

2
WOW Tôi đoán họ phải bù đắp cho chi phí lưu trữ ngày càng rẻ hơn bằng cách nào đó. ít nhất là theo tỷ lệ. nếu bạn chỉ sử dụng chứng chỉ SSL của mình trong 1 giờ trong một tháng thì chỉ có $ 20 ;-)
Simon_Weaver

1
@ Elegant.Scripting nếu bạn có chứng chỉ SSL chuyên dụng (không phải chứng chỉ SNI) thì máy đó cần một IP chuyên dụng phát sinh chi phí. có lẽ cần một IP chuyên dụng cho bạn cho mọi địa điểm trên toàn thế giới nơi S3 lưu trữ dữ liệu của bạn. Vì vậy mà thêm lên. Nhưng tôi nghĩ rằng chủ yếu chỉ là những người đăng bài không cần nó và họ có thể tăng giá cho những người làm. Nếu bạn không cần hỗ trợ IE6 thì bạn sẽ ổn với chứng chỉ SNI trong CloudFront.
Simon_Weaver

11

Tôi thấy bạn có thể thực hiện việc này một cách dễ dàng thông qua dịch vụ Cloud Flare.

Thiết lập một nhóm, bật webhosting trên nhóm và trỏ CNAME mong muốn đến điểm cuối đó qua Cloudflare ... và trả tiền cho dịch vụ tất nhiên ... nhưng $ 5- $ 20 VS $ 600 dễ dàng hơn nhiều.

Chi tiết đầy đủ tại đây: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/


1
Hãy thử hướng dẫn của tôi ở đây: lôi
cuốn.io / Kẻ

3

Nếu bạn thực sự cần nó, hãy xem xét chuyển hướng.

Ví dụ: theo yêu cầu, assets.my-domain.example.com/path/to/filebạn có thể thực hiện chuyển hướng 301 hoặc 302 đến my-bucket-name.s3.amazonaws.com/path/to/filehoặc s3.amazonaws.com/my-bucket-name/path/to/file(xin nhớ rằng trong trường hợp đầu tiên my-bucket-namekhông thể chứa bất kỳ dấu chấm nào, nếu không, nó sẽ không khớp với *.s3.amazonaws.com, s3.amazonaws.comchứng chỉ S3).

Không được thử nghiệm, nhưng tôi tin rằng nó sẽ hoạt động. Tôi thấy vài gotchas, tuy nhiên.

Điều đầu tiên là khá rõ ràng, một yêu cầu bổ sung để có được sự chuyển hướng này. Và tôi nghi ngờ bạn có thể sử dụng máy chủ chuyển hướng được cung cấp bởi nhà đăng ký tên miền của bạn - bằng cách nào đó bạn phải tải lên chứng chỉ phù hợp ở đó - vì vậy bạn phải sử dụng máy chủ của riêng mình cho việc này.

Cái thứ hai là bạn có thể có các url với tên miền của bạn trong mã nguồn trang, nhưng khi người dùng mở ví dụ trong tab riêng biệt, thì thanh địa chỉ sẽ hiển thị url đích.


2
Tôi không chắc chắn nhưng tôi nghĩ điều này có thể gây ra vấn đề CORS.
xdhmoore

3

Không thể trực tiếp với S3, nhưng bạn có thể tạo bản phân phối Cloud Front từ nhóm của mình. Sau đó đi đến quản lý chứng chỉ và yêu cầu một chứng chỉ. Amazon cung cấp cho họ miễn phí. Những người bạn đã xác nhận thành công chứng nhận, hãy gán nó cho bản phân phối Cloud Front của bạn. Ngoài ra, hãy nhớ đặt quy tắc để chuyển hướng http thành https.

Tôi đang lưu trữ một vài trang web tĩnh trên Amazon S3, giống như trang web cá nhân của tôi mà tôi đã gán chứng chỉ SSL khi chúng có bản phân phối Cloud Front.


và làm thế nào bạn chỉ định tên miền?
Netshark1000

Đầu tiên hãy đến trình quản lý chứng chỉ và yêu cầu chứng chỉ mới. Thêm tên miền của bạn ở đó và cũng bao gồm tên miền phụ ở đó, nếu cần thiết. Không thực sự làm tổn thương bất cứ điều gì để đặt tên miền phụ ở đó, vì vậy cũng có thể chỉ cần đặt example.com và * .example.com ở đó.
Mika Kujapelto

0

Như đã đề cập trước đó, bạn không thể tạo chứng chỉ miễn phí cho các thùng S3. Tuy nhiên, thay vào đó, bạn có thể tạo phân phối Cloud Front và sau đó gán chứng chỉ cho Cloud Front. Bạn yêu cầu chứng chỉ cho miền của mình và sau đó chỉ cần gán nó cho bản phân phối Cloud Front trong cài đặt Cloud Front. Tôi đã sử dụng phương pháp này để phục vụ các trang web tĩnh thông qua SSL cũng như phục vụ các tệp tĩnh.

Đối với việc tạo trang web tĩnh Amazon là nơi để đi. Nó thực sự là giá cả phải chăng để có được một trang web tĩnh với SSL.


2
Đối với mọi người đến đây bằng google: Hãy nhớ tạo chứng chỉ AWS của bạn (cũng) trong khu vực N. Virginia. Nếu không, bạn sẽ không thể chọn nó trong bản phân phối CF của mình
KLoozen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.