Instalar SSL en Apache 2 con Tomcat 7 conectado a través de mod_jk

Como ya vimos en la entrada anterior, es bastante fácil conectar Tomcat 7 a Apache 2 a través de mod_jk , a continuación vamos a meter un SSL a nuestro querido Apache 2 sin perder la conexión con Tomcat 7.
Para ello seguiremos los siguientes pasos en Ubuntu:

  1. Activar modulo SSL para Apache y mod_jk para la conexión de Apache con Tomcat:
    $ a2enmod ssl
    $ a2enmod jk (ya debe estar activado pero, por si acaso)
  2. Generamos el certificado SSL para Apache 2 desde la consola de Ubuntu, para ello:
    • # Creamos las llaves
      cd /etc/apache2
      sudo openssl genrsa -des3 -out ssl.key 1024
      # Creamos el certificado con la llave
      sudo openssl req -new -key ssl.key -out ssl.csr
      # Creamos nuestro certificado, contestando las preguntas que nos indique recordando la contraseña
      sudo openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
      #Cambiamos de carpeta la llave y certificado

      sudo cp ssl.crt /etc/ssl/certs/
      sudo cp ssl.key /etc/ssl/private/

  3. Como vimos anteriormente en /etc/apache2/sites-enabled/000-default.conf teníamos los Virtual Host para el puerto 80 configurados, pues bien ahora debemos configurar uno para el puerto 443 usando el mismo worker:<VirtualHost *:443>
    ServerName localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /var/wwwErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combinedSSLEngine on
    SSLCertificateKeyFile /etc/ssl/certs/ssl.key
    SSLCertificateFile /etc/ssl/certs/ssl.crt
    #SSLCACertificateFile /etc/ssl/certs/bundle.crtBrowserMatch “MSIE [2-6]” \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch “MSIE [17-9]” ssl-unclean-shutdown

    JkMount /tomcat-demo* worker1
    </VirtualHost>

    Como vemos en este trozo de código, debemos cambiar la ruta de nuestro certificado y el servername (en mi caso es localhost porque estoy en pruebas).

  4. Reiniciamos apache y listo!!
    sudo /etc/init.d/apache2 restart

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .