Używam zasobnika Amazon S3 do przesyłania i pobierania danych za pomocą mojej aplikacji .NET. Teraz moje pytanie brzmi: chcę uzyskać dostęp do mojego zasobnika S3 przy użyciu protokołu SSL. Czy można zaimplementować SSL dla wiadra Amazon s3?
Używam zasobnika Amazon S3 do przesyłania i pobierania danych za pomocą mojej aplikacji .NET. Teraz moje pytanie brzmi: chcę uzyskać dostęp do mojego zasobnika S3 przy użyciu protokołu SSL. Czy można zaimplementować SSL dla wiadra Amazon s3?
Odpowiedzi:
Możesz uzyskać dostęp do swoich plików przez SSL w następujący sposób:
https://s3.amazonaws.com/bucket_name/images/logo.gif
Jeśli używasz niestandardowej domeny dla swojego wiadra, możesz używać S3 i CloudFront razem z własnym certyfikatem SSL (lub wygenerować darmowy za pośrednictwem Amazon Certificate Manager): http://aws.amazon.com/cloudfront/custom-ssl- domeny /
us-west-2
więc nazwa hosta jest w rzeczywistości, w s3-us-west-2.amazonaws.com
przeciwnym razie pojawi się błąd.
Certyfikaty SSL domeny niestandardowej zostały właśnie dodane dzisiaj za 600 USD / certyfikat / miesiąc. Zarejestruj się, aby otrzymać zaproszenie poniżej: http://aws.amazon.com/cloudfront/custom-ssl-domains/
Aktualizacja : certyfikaty dostarczone przez klienta SNI są teraz dostępne bez dodatkowych opłat. Znacznie tańsze niż 600 $ miesięcznie, a przy prawie zabitym XP, powinno dobrze działać w większości przypadków użycia.
@skalee AWS ma mechanizm umożliwiający osiągnięcie tego, o co prosi plakat, „zaimplementuj SSL dla zasobnika Amazon s3”, tak się nazywa CloudFront
. Czytam „zaimplementuj” jako „użyj moich certyfikatów SSL”, a nie po prostu wstawiam literę S w adresie URL HTTP, o którym jestem pewien, że OP mógł się domyślić.
Ponieważ CloudFront kosztuje dokładnie tyle samo, co S3 (0,12 USD / GB), ale ma mnóstwo dodatkowych funkcji związanych z SSL ORAZ pozwala na dodanie własnego certyfikatu SNI bez dodatkowych kosztów, jest to oczywista poprawka do „implementacji SSL” w Twojej domenie.
Odkryłem, że możesz to łatwo zrobić za pośrednictwem usługi Cloud Flare.
Skonfiguruj zasobnik, włącz hosting w zasobniku i skieruj żądany CNAME do tego punktu końcowego przez Cloudflare ... i oczywiście zapłać za usługę ... ale 5- $ 20 VS 600 $ jest znacznie łatwiejszy do zniesienia.
Pełne szczegóły tutaj: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/
Jeśli naprawdę tego potrzebujesz, rozważ przekierowania.
Na przykład na żądanie assets.my-domain.example.com/path/to/file
możesz wykonać przekierowanie 301 lub 302 na my-bucket-name.s3.amazonaws.com/path/to/file
lub s3.amazonaws.com/my-bucket-name/path/to/file
(pamiętaj, że w pierwszym przypadku my-bucket-name
nie może zawierać żadnych kropek, w przeciwnym razie nie będzie pasować*.s3.amazonaws.com, s3.amazonaws.com
podanego w certyfikacie S3).
Nie testowane, ale wierzę, że to zadziała. Widzę jednak kilka pułapek.
Pierwsza jest dość oczywista, dodatkowa prośba o to przekierowanie. I wątpię, żebyś mógł skorzystać z serwera przekierowań dostarczonego przez twojego rejestratora nazw domen - musiałbyś jakoś przesłać tam odpowiedni certyfikat - więc musisz użyć do tego własnego serwera.
Po drugie, możesz mieć adresy URL z nazwą domeny w kodzie źródłowym strony, ale gdy na przykład użytkownik otworzy zdjęcie w osobnej karcie, pasek adresu wyświetli docelowy adres URL.
Nie jest to możliwe bezpośrednio z S3, ale możesz utworzyć dystrybucję Cloud Front na podstawie swojego zasobnika. Następnie przejdź do menedżera certyfikatów i poproś o certyfikat. Amazon udostępnia je za darmo. Jeśli pomyślnie potwierdziłeś certyfikację, przypisz ją do swojej dystrybucji Cloud Front. Pamiętaj również, aby ustawić zasadę przekierowania http na https.
Hostuję kilka statycznych stron internetowych na Amazon S3, na przykład moją osobistą witrynę, do której przypisałem certyfikat SSL, ponieważ mają one dystrybucję Cloud Front.
Jak wspomniano wcześniej, nie można tworzyć bezpłatnych certyfikatów dla zasobników S3. Możesz jednak utworzyć dystrybucję Cloud Front, a następnie zamiast tego przypisać certyfikat do usługi Cloud Front. Żądasz certyfikatu dla swojej domeny, a następnie przypisujesz go do dystrybucji Cloud Front w ustawieniach Cloud Front. Użyłem tej metody do obsługi statycznych stron internetowych przez SSL, a także plików statycznych.
W przypadku tworzenia statycznych witryn internetowych Amazon jest idealnym miejscem. Uzyskanie statycznej strony internetowej z SSL jest naprawdę przystępne cenowo.