Sto usando un bucket Amazon S3 per caricare e scaricare dati utilizzando la mia applicazione .NET. Ora la mia domanda è: voglio accedere al mio bucket S3 usando SSL. È possibile implementare SSL per un bucket Amazon s3?
Sto usando un bucket Amazon S3 per caricare e scaricare dati utilizzando la mia applicazione .NET. Ora la mia domanda è: voglio accedere al mio bucket S3 usando SSL. È possibile implementare SSL per un bucket Amazon s3?
Risposte:
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 /
us-west-2
modo che il nome host sia effettivamente s3-us-west-2.amazonaws.com
altrimenti si ottiene un errore.
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.
Ho scoperto che puoi farlo facilmente tramite il servizio Cloud Flare.
Imposta un bucket, abilita il webhosting sul bucket e punta il CNAME desiderato su quell'endpoint tramite Cloudflare ... e ovviamente paga il servizio ... ma $ 5- $ 20 VS $ 600 è molto più facile da digerire.
Tutti i dettagli qui: https://www.engaging.io/easy-way-to-configure-ssl-for-amazon-s3-bucket-via-cloudflare/
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/file
o s3.amazonaws.com/my-bucket-name/path/to/file
(si ricorda che nel primo caso my-bucket-name
non può contenere alcun punto, altrimenti non corrisponderà *.s3.amazonaws.com, s3.amazonaws.com
indicato 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.
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.
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.