¿Cómo habilitamos HTTPS en Amazon EC2? Nuestro sitio funciona con HTTP.
¿Cómo habilitamos HTTPS en Amazon EC2? Nuestro sitio funciona con HTTP.
Respuestas:
Primero, debe abrir el puerto HTTPS (443). Para hacer eso, vaya a https://console.aws.amazon.com/ec2/ y haga clic en el Security Groups
enlace de la izquierda, luego cree un nuevo grupo de seguridad con HTTPS también disponible. Luego, simplemente actualice el grupo de seguridad de una instancia en ejecución o cree una nueva instancia con ese grupo.
Después de estos pasos, su trabajo de EC2 está terminado y todo es un problema de aplicación.
you can't change a security group of a running instance, even rebooting
- Creo que esta limitación se eliminó desde que se publicó esta respuesta.
Edit inbound rules
Esta respuesta está enfocada a alguien que compra un dominio en otro sitio (como GoDaddy) y quiere usar el certificado gratuito de Amazon con el Administrador de certificados.
Esta respuesta usa Amazon Classic Load Balancer (pagado) consulte el precio antes de usarlo
Paso 1 : solicite un certificado con el Administrador de certificados
Vaya a Administrador de certificados> Solicitar certificado> Solicitar un certificado público
En nombre de dominio que va a agregar myprojectdomainname.com
y *.myprojectdomainname.com
e ir en Siguiente
Elija Validación de correo electrónico y Confirmar y solicitar
Abra el correo electrónico que ha recibido (en la cuenta de correo electrónico que compró el dominio) y apruebe la solicitud
Después de esto, verifique si el estado de validación de myprojectdomainname.com
y *.myprojectdomainname.com
es exitoso, si es exitoso, puede continuar con el Paso 2
Paso 2 : crear un grupo de seguridad para un equilibrador de carga
En EC2, vaya a Grupos de seguridad> y cree un grupo de seguridad y agregue http y https
Paso 3 : crear el equilibrador de carga
EC2> Load Balancer> Crear Load Balancer> Classic Load Balancer (tercera opción)
Cree LB en el interior: el vpc de su proyecto En el protocolo Load Balancer agregue Http y Https
Siguiente> Seleccionar grupo de seguridad saliente
Elija el grupo de seguridad que ha creado en el paso anterior
Siguiente> Elija certificado de ACM
Seleccione el certificado del paso 1
Siguiente>
en la verificación de estado, he usado la ruta de ping / (una barra en lugar de /index.html)
Paso 4 : asocia tu instancia con el grupo de seguridad del equilibrador de carga
EC2> Instancias> haga clic en su proyecto> Acciones> Redes> Cambiar grupos de seguridad
Agregue el grupo de seguridad de su balanceador de carga
Paso 5
EC2> Load Balancer> Haga clic en el balanceador de carga que ha creado> copie el nombre DNS (registro A), será algo así como myproject-2021611191.us-east-1.elb.amazonaws.com
Vaya a Ruta 53> Zonas de rutas> haga clic en el nombre de dominio> Ir a Conjuntos de registros (si no tiene su dominio aquí, cree una zona alojada con Domain Name: myprojectdomainname.com
y Type: Public Hosted Zone
)
Verifique si tiene un registro tipo A (probablemente no), cree / edite el conjunto de registros con el nombre vacío, escriba A, alias Sí y Apunte a los dns que ha copiado
Cree también un nuevo conjunto de registros de tipo A , nombre *.myprojectdomainname.com
, alias Sí y Apunte a su dominio (myprojectdomainname.com). Esto hará posible acceder a su sitio con www.myprojectdomainname.com y subsite.myprojectdomainname.com. Nota: Deberá configurar su proxy inverso (Nginx / Apache) para hacerlo.
En NS, copie los 4 valores de los servidores de nombres para usarlos en el siguiente paso, será algo como:
ns-362.awsdns-45.com
ns-1558.awsdns-02.co.uk
ns-737.awsdns-28.net
ns-1522.awsdns-62.org
Vaya a EC2> Instancias> Y copie también la IP pública IPv4
Paso 6
En el sitio de registro de dominios donde compraste el dominio (en mi caso, GoDaddy)
Cambie la ruta http : <Your IPv4 Public IP Number>
ay seleccione Reenviar con enmascaramiento
Cambie los servidores de nombres (NS) por los 4 NS que ha copiado; esto puede tardar 48 horas en surtir efecto
Las instancias de Amazon EC2 son solo máquinas virtuales, por lo que debería configurar SSL de la misma manera que lo haría en cualquier servidor.
No mencionas en qué plataforma estás, por lo que es difícil dar más información.
Una pregunta antigua pero que vale la pena mencionar otra opción en las respuestas. En caso de que el sistema DNS de su dominio se haya definido en Amazon Route 53, puede utilizar el servicio Amazon CloudFront delante de su EC2 y adjuntarle un certificado SSL de Amazon gratuito. De esta manera, se beneficiará de tener un CDN para una entrega de contenido más rápida y también de proteger su dominio con el protocolo HTTPS.
También debe haber una respuesta para las personas que desean un https sin problemas en ec2 principalmente con fines de demostración y prueba, una forma en que pueden lograrlo muy rápido es:
Con mi respuesta aquí, que describe cómo puede lograr https para fines de prueba en minutos con EC2 sin la molestia de crear certificados
Use Elastic Load Balacing , admite la terminación SSL en Load Balancer, incluida la descarga del descifrado SSL de las instancias de la aplicación y la administración centralizada de certificados SSL.
También puede utilizar Amazon API Gateway . Ponga su aplicación detrás de API Gateway. Consulte estas preguntas frecuentes
Uno de los mejores recursos que encontré fue usar vamos a cifrar, no necesita ELB ni cloudfront para que su instancia EC2 tenga HTTPS, solo siga las siguientes instrucciones simples: cifremos el inicio de sesión en su servidor y siga los pasos en el enlace.
También es importante, como lo mencionaron otros, que tenga el puerto 443 abierto editando sus grupos de seguridad
Puede ver su certificado o el de cualquier otro sitio web cambiando el nombre del sitio en este enlace
No olvide que solo es válido durante 90 días.