2011-08-04 13 views
24

Tengo una instancia de EC2 que utiliza la instalación personalizada de Linux de Amazon con Apache incorporado. Esta instalación también tiene openssl instalado. Dicho esto, no parece haber un mod_ssl.so para cargar en httpd.conf.Habilitación de SSL en una instancia de Apache en EC2

Por lo tanto, quiero saber la mejor manera de que apache esté habilitado ssl para que pueda configurar mi servidor virtual SSL (tenga en cuenta que ya he configurado las cert/firmas). Idealmente, me gustaría no tener que reconstruir/reinstalar Apache.

Respuesta

31

Prueba este comando:

yum install mod_ssl 
+10

Saludos. Para los usuarios de Apache 2.4: tuve que usar 'yum install mod24_ssl'. –

+4

sí, 'yum install mod24_ssl' funcionó bien en mi servidor amazon ec2. –

+1

¿alguien podría explicar por qué todos siempre publican yum sin sudo? nunca funciona sin sudo, entonces ¿por qué no lo escribes? – Anthony

24

Un resumen de lo que hay que hacer para habilitar SSL en el servidor Apache en EC2: certificado SSL

  1. Get (que ya se hizo)
  2. Instale mod_ssl como dijo José Vega
  3. Agregue las siguientes líneas a su httpd.conf 3.
NameVirtualHost *:443 

<VirtualHost *:443> 
    ServerName www.example.com 
# other configurations 
SSLEngine on 
SSLCertificateFile /etc/httpd/conf/ssl.crt/mydomain.crt 
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/mydomain.key 
</VirtualHost> 

Por último, no se olvide de abrir el puerto 443 en su instancia EC2

+2

¡Perdí unas horas tratando de descubrir por qué no puedo acceder a mi sitio con SSL y solo para darme cuenta de que olvidé abrir el puerto 443 en mi grupo de seguridad!Si no es por tu recordatorio, podría haber pasado otras horas tratando de depurar esto. – Stanley

+0

¡Absolutamente genial! Vale la pena mencionar que el directorio predeterminado para archivos .crt y .key en el servidor EC2 '/ etc/pki/tls/private /' –

12

me las arreglé para habilitar SSL en mi instancia EC2 e instalar un certificado SSL libre de startssl.com. Hice algunos errores, este es el enfoque básico:

  1. Inscripción a startssl.com pulsando en el enlace Panel de control
    • completa el proceso de registro. Deberá verificar su dirección de correo electrónico.
  2. validar su dominio bajo asistente para la validación -> nombres de dominio Validación
  3. obtener un certificado por Asistente
    • Certificado para elegir: Web Server SSL/TLS Certificate
    • Introduzca una contraseña que se utiliza para cifrar la clave privada. Lo necesitarás más tarde.
    • Elegí tamaño de clave de 4096
    • Guardar la clave privada cifrada como ssl.encrypted.key algún lugar
    • ?? Olvidé lo que sucedió después
    • Guarde el archivo del certificado como ssl.crt en algún lugar. Para mí, tuve que esperar 30 minutos después apareció bajo Caja de Herramientas -> retrive Certificado
  4. uso de OpenSSL para descifrar el archivo cifrado ssl.encrypted.key
    • sudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
    • startssl.com también tienen una opción de descifrar en su página web, pero no funcionó para mí
  5. masilla/SSH en su máquina EC2
  6. instalar mod_ssl
    • sudo yum install mod_ssl
  7. Vuelva a colocar la certificado y clave predeterminados
    • sudo vi /etc/pki/tls/certs/localhost.crt
    • Pegue los contenidos de ssl.crt
    • ¡Asegúrese de que se pega correctamente! Siempre pierdo los 6 primeros caracteres
    • Use :%d para eliminar el certificado existente, si es necesario
    • [ESC] wq
    • sudo vi /etc/pki/tls/private/localhost.key
    • Pegar en el contenido de ssl.unencrypted.key
    • Una vez más asegurarse de que se pega correctamente!
    • [ESC] wq
  8. Compruebe la configuración
    • apachectl configtest
  9. Reiniciar
    • sudo service httpd restart
    • que había problemas reiniciar y creo que lo que era fijo sudo kill -9 httpd
+0

He realizado todos estos pasos: 'sudo vi/etc/pki/tls/certs/localhost. crt' me causó problemas. Reemplazar su contenido con el contenido de mi archivo ssl.crt causa problemas. Httpd no se inició debido a esto - 'apachectl configtest' dijo' Sintaxis OK' pero httpd aún no se iniciaba. Restaurar el archivo fijo httpd por lo que definitivamente era la fuente. ¿Algunas ideas? – maxhud

3

debe instalar el módulo SSL, ya que SSL mod no se distribuye con la mayoría de los casos por defecto, pero eso depende de la versión de Apache que está utilizando en su instancia AWS. Para comprobar que se está utilizando, puede ejecutar este comando en la línea de comandos:

httpd -v 

Para Apache 2,2

yum install mod_ssl 

Para Apache 2,4

yum install mod24_ssl 
0

Si está utilizando Amazon Lightsail, asegúrese de entrar en Redes desde el tablero Lightsail y agregue HTTPS/443 en su Firewall:

enter image description here

Cuestiones relacionadas