Come configurare SSL per il bucket Amazon S3


Risposte:


151

Puoi accedere ai tuoi file tramite SSL in questo modo:

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

Se usi un dominio personalizzato per il tuo bucket, puoi utilizzare S3 e CloudFront insieme al tuo certificato SSL (o generarne uno gratuito tramite Amazon Certificate Manager): http://aws.amazon.com/cloudfront/custom-ssl- domini /


42
Questo non è del tutto vero. Puoi usare i nomi dei bucket senza punti: this-is-my-awesome-bucket.s3.amazonaws.com Amazon ha un certificato con caratteri jolly. Dato che non puoi usare i punti, non puoi avere un dominio CNAME che punta al tuo bucket.
Docunext,

4
attenzione ai nomi dei bucket contenenti punti! SSL non funzionerà su dispositivi iOS ma funzionerà perfettamente in Chrome. Vedere stackoverflow.com/questions/3048236/...
Simon_Weaver

1
Amazon CloudFront farà questo per te.
Greg,

3
Per avere nomi di bucket di notazione punti (in modo da poter usare l'alias Route 53) e si desidera INSERIRE oggetti tramite REST, assicurarsi che il nome host corrisponda alla regione. Ad esempio, il mio bucket è in us-west-2modo che il nome host sia effettivamente s3-us-west-2.amazonaws.comaltrimenti si ottiene un errore.
Noetix,

1
senza cloudfront possiamo raggiungere questo obiettivo?
Arun Kumar

28

I certificati SSL di dominio personalizzati sono stati appena aggiunti oggi per $ 600 / certificato / mese. Iscriviti per il tuo invito di seguito: http://aws.amazon.com/cloudfront/custom-ssl-domains/

Aggiornamento : i certificati forniti dal cliente SNI sono ora disponibili senza costi aggiuntivi. Molto più economico di $ 600 / mese, e con XP quasi ucciso, dovrebbe funzionare bene per la maggior parte dei casi d'uso.

@skalee AWS ha un meccanismo per raggiungere ciò che il poster chiede, "implementare SSL per un bucket Amazon s3", si chiama CloudFront. Sto leggendo "implementa" come "usa i miei certificati SSL", non "metto semplicemente una S sull'URL HTTP che sono sicuro che l'OP avrebbe potuto ipotizzare.

Poiché CloudFront costa esattamente lo stesso di S3 ($ 0,12 / GB), ma ha un sacco di funzionalità aggiuntive attorno a SSL E ti consente di aggiungere il tuo certificato SNI senza costi aggiuntivi, è la soluzione ovvia per "implementare SSL" sul tuo dominio.


64
CloudFront non è S3.
skalee,

6
@skalee Corretto, ma se si desidera accedervi tramite un dominio con certificati SSL personalizzati, come richiesto dall'OP, è possibile impostare certificati SSL CNAME personalizzati in questo modo e accedervi tramite CF.
Joseph Lust,

2
Per ora, ho impostato due CNAME: static-s3 e static-cf, il primo che punta direttamente al mio S3, il secondo a CF. Il primo non può supportare SSL, il secondo può, ma è CF e non S3 come sottolinea Skalee. Questo è il meglio che penso che possiamo fare fin d'ora.
Pericolo,

2
WOW Immagino che debbano compensare costi di archiviazione sempre più economici in qualche modo. almeno è proporzionale però. se usi il certificato SSL solo per 1 ora al mese
costa

1
@ Elegant.Scripting se si dispone di un certificato SSL dedicato (non un certificato SNI), quella macchina necessita di un IP dedicato che comporta costi. presumibilmente è necessario un IP dedicato per te per ogni località del mondo in cui S3 ospita i tuoi dati. Quindi questo si somma. Ma penso che sia principalmente solo che le persone non ne abbiano bisogno e che possano aumentare il prezzo per quelli che lo fanno. Se non hai bisogno di supportare IE6, dovresti essere OK con il certificato SNI in CloudFront.
Simon_Weaver,


3

Se ne hai davvero bisogno, considera i reindirizzamenti.

Ad esempio, su richiesta assets.my-domain.example.com/path/to/fileè possibile eseguire un reindirizzamento 301 o 302 verso my-bucket-name.s3.amazonaws.com/path/to/fileo s3.amazonaws.com/my-bucket-name/path/to/file(si ricorda che nel primo caso my-bucket-namenon può contenere alcun punto, altrimenti non corrisponderà *.s3.amazonaws.com, s3.amazonaws.comindicato nel certificato S3).

Non testato, ma credo che funzionerebbe. Vedo alcuni gotcha, tuttavia.

Il primo è abbastanza ovvio, un'ulteriore richiesta per ottenere questo reindirizzamento. E dubito che potresti usare il server di reindirizzamento fornito dal tuo registrar di nomi di dominio - dovresti caricare lì il certificato appropriato in qualche modo - quindi devi usare il tuo server per questo.

Il secondo è che puoi avere gli URL con il tuo nome di dominio nel codice sorgente della pagina, ma quando ad esempio l'utente apre l'immagine in una scheda separata, la barra degli indirizzi mostrerà l'URL di destinazione.


2
Non ne sono certo, ma penso che ciò possa causare problemi CORS.
xdhmoore,

3

Non è possibile direttamente con S3, ma puoi creare una distribuzione di Cloud Front dal tuo bucket. Quindi vai al gestore certificati e richiedi un certificato. Amazon li dà gratuitamente. Quelli che hai confermato con successo la certificazione, assegnala alla tua distribuzione Cloud Front. Ricorda anche di impostare la regola per reindirizzare http su https.

Sto ospitando un paio di siti Web statici su Amazon S3, come il mio sito Web personale a cui ho assegnato il certificato SSL in quanto hanno la distribuzione Cloud Front.


e come hai assegnato il nome di dominio?
netshark1000,

Per prima cosa vai al gestore certificati e richiedi un nuovo certificato. Aggiungi il tuo dominio lì e includi anche i sottodomini lì, se necessario. In realtà non fa male a nessuno mettere sottodomini, quindi potrebbe anche solo mettere example.com e * .example.com lì.
Mika Kujapelto,

0

Come accennato in precedenza, non è possibile creare certificati gratuiti per i bucket S3. Tuttavia, è possibile creare la distribuzione di Cloud Front e quindi assegnare il certificato per Cloud Front. Richiedi il certificato per il tuo dominio e poi lo assegni alla distribuzione di Cloud Front nelle impostazioni di Cloud Front. Ho usato questo metodo per servire siti Web statici tramite SSL, nonché file statici.

Per la creazione di siti Web statici Amazon è il posto giusto. È davvero conveniente ottenere un sito Web statico con SSL.


2
Per tutti coloro che arrivano qui utilizzando Google: ricordati di creare il tuo certificato AWS (anche) nella regione della Virginia del Nord. Altrimenti non sarai in grado di selezionarlo nella tua distribuzione CF
KLoozen
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.