Come abilitiamo HTTPS in Amazon EC2? Il nostro sito funziona su HTTP.
Come abilitiamo HTTPS in Amazon EC2? Il nostro sito funziona su HTTP.
Risposte:
Innanzitutto, è necessario aprire la porta HTTPS (443). Per farlo, vai su https://console.aws.amazon.com/ec2/ e fai clic sul Security Groups
collegamento a sinistra, quindi crea un nuovo gruppo di sicurezza con disponibile anche HTTPS. Quindi, aggiorna semplicemente il gruppo di sicurezza di un'istanza in esecuzione o crea una nuova istanza utilizzando quel gruppo.
Dopo questi passaggi, il tuo lavoro su EC2 è terminato ed è tutto un problema dell'applicazione.
you can't change a security group of a running instance, even rebooting
- Penso che questa limitazione sia stata rimossa da quando è stata pubblicata questa risposta.
Edit inbound rules
Questa risposta è rivolta a qualcuno che acquista un dominio in un altro sito (come GoDaddy) e desidera utilizzare il certificato gratuito di Amazon con Certificate Manager
Questa risposta utilizza Amazon Classic Load Balancer (a pagamento), vedere i prezzi prima di utilizzarlo
Passaggio 1 : richiedere un certificato con Certificate Manager
Vai a Gestione certificati> Richiedi certificato> Richiedi un certificato pubblico
Sul nome di dominio che si aggiungerà myprojectdomainname.com
e *.myprojectdomainname.com
e andare su Avanti
Scegli Convalida e-mail e Conferma e richiesta
Apri l'email che hai ricevuto (sull'account email che hai acquistato il dominio) e approva la richiesta
Dopodiché, controlla se lo stato di convalida di myprojectdomainname.com
e *.myprojectdomainname.com
è riuscito, in caso positivo puoi continuare con il passaggio 2
Passaggio 2 : creare un gruppo di sicurezza per un bilanciamento del carico
Su EC2 vai a Gruppi di sicurezza> e Crea un gruppo di sicurezza e aggiungi http e https in entrata
Passaggio 3 : creare il bilanciamento del carico
EC2> Load Balancer> Crea Load Balancer> Classic Load Balancer (terza opzione)
Crea LB all'interno: il vpc del tuo progetto On Load Balancer Protocol aggiunge Http e Https
Avanti> Seleziona uscita dal gruppo di sicurezza
Scegli il gruppo di sicurezza che hai creato nel passaggio precedente
Avanti> Scegli certificato da ACM
Seleziona il certificato del passaggio 1
Avanti>
durante il controllo dello stato ho usato il percorso ping / (una barra invece di /index.html)
Passaggio 4 : associa la tua istanza al gruppo di sicurezza del bilanciatore del carico
EC2> Istanze> fai clic sul tuo progetto> Azioni> Rete> Modifica gruppi di sicurezza
Aggiungi il gruppo di sicurezza del tuo Load Balancer
Passaggio 5
EC2> Load Balancer> Fai clic sul load balancer che hai creato> copia il nome DNS (record A), sarà qualcosa di simile myproject-2021611191.us-east-1.elb.amazonaws.com
Vai a Route 53> Routes Zones> fai clic sul nome del dominio> Vai a Records Sets (Se non hai il tuo dominio qui, crea una zona ospitata con Domain Name: myprojectdomainname.com
e Type: Public Hosted Zone
)
Controlla se hai un tipo di record A (probabilmente no), crea / modifica set di record con nome vuoto, digita A, alias Sì e scegli come target il DNS che hai copiato
Crea anche un nuovo set di record di tipo A , nome *.myprojectdomainname.com
, alias Sì e Target tuo dominio (myprojectdomainname.com). Ciò renderà possibile l'accesso al tuo sito con www.myprojectdomainname.com e subsite.myprojectdomainname.com. Nota: sarà necessario configurare il proxy inverso (Nginx / Apache) per farlo.
Su NS copia i 4 valori dei server dei nomi da utilizzare nel passaggio successivo, sarà qualcosa del tipo:
ns-362.awsdns-45.com
ns-1558.awsdns-02.co.uk
ns-737.awsdns-28.net
ns-1522.awsdns-62.org
Vai a EC2> Istanze> e copia anche l'IP pubblico IPv4
Passaggio 6
Sul sito del registro del dominio che hai acquistato il dominio (nel mio caso GoDaddy)
Modificare il percorso in http : <Your IPv4 Public IP Number>
e selezionare Avanti con mascheramento
Cambia i server dei nomi (NS) nei 4 NS che hai copiato, l'operazione può richiedere 48 ore per avere effetto
Le istanze di Amazon EC2 sono solo macchine virtuali, quindi configureresti SSL nello stesso modo in cui lo configureresti su qualsiasi server.
Non dici su quale piattaforma ti trovi, quindi è difficile fornire ulteriori informazioni.
Una vecchia domanda, ma vale la pena menzionare un'altra opzione nelle risposte. Nel caso in cui il sistema DNS del tuo dominio sia stato definito in Amazon Route 53, puoi utilizzare il servizio Amazon CloudFront davanti al tuo EC2 e allegare un certificato SSL Amazon gratuito. In questo modo trarrai vantaggio sia dall'avere una CDN per una consegna più rapida dei contenuti, sia dalla protezione del tuo dominio con il protocollo HTTPS.
Deve esserci anche una risposta per le persone che desiderano un https senza problemi su ec2 principalmente per scopi dimostrativi e di test, un modo in cui possono ottenerlo molto velocemente è:
Con la mia risposta qui che descrive come è possibile ottenere https a scopo di test in pochi minuti con EC2 senza il fastidio di creare certificati
Utilizza Elastic Load Balacing , supporta la terminazione SSL in Load Balancer, incluso l'offload della decrittografia SSL dalle istanze dell'applicazione e la gestione centralizzata dei certificati SSL.
Puoi anche utilizzare Amazon API Gateway . Metti la tua applicazione dietro API Gateway. Si prega di controllare questa FAQ
Una delle migliori risorse che ho trovato è stata quella di utilizzare Let's encrypt, non è necessario ELB né cloudfront per l'istanza EC2 per avere HTTPS, basta seguire le seguenti semplici istruzioni: crittografiamo Accedi al tuo server e segui i passaggi nel collegamento.
È anche importante, come menzionato da altri, che tu abbia la porta 443 aperta modificando i tuoi gruppi di sicurezza
È possibile visualizzare il certificato o qualsiasi altro sito Web modificando il nome del sito in questo collegamento
Non dimenticare che è valido solo per 90 giorni