1.GENERACIÓN CERTIFICADO (PASO COMÚN)


Tanto en Apache2 como en NGINX tenemos una serie de pasos comunes para crear los certificados
-Creamos los directorios para guardar los certificados en caso de Apache2
cd  /etc/apache2sudo mkdir ssl

*En caso de nginx  /etc/nginx/ssl
Una vez en esta carpeta generamos los certificados
-Primero generamos la clave privada
sudo openssl genrsa -out server.key-Segundo generamos la petición de firma
sudo openssl req -new -key server.key -out server.csrRellenamos la información que nos pide:
 Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:JaenLocality Name (eg, city) []:AndujarOrganization Name (eg, company) [Internet Widgits Pty Ltd]:FrecuencyOrganizational Unit Name (eg, section) []:InformaticaCommon Name (e.g. server FQDN or YOUR name) []:sitio2.comEmail Address []:prueba@prueba.com

-Tercer paso nos autofirmamos
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Una vez hecho esto ya tenemos los dos archivos necesarios que son .crt y .key

2.CONFIGURACIÓN EN APACHE 2


Vamos a la carpeta etc/apache2/sites-availables
Hacemos un copy al archivo default-ssl
sudo cp default.ssl.conf sitio2.conf
Y lo configuramos con nano
sudo nano sitio2.conf
Las modificaciones son las siguientes:
DocumentRoot /var/www/sitio2
SSLEngine on
               SSLCertificateFile      /etc/apache2/ssl/server.crt
                SSLCertificateKeyFile /etc/apache2/ssl/server.key
Guardamos con ctrl+o y salimos con ctrl+x
Activamos el sitio
sudo a2ensite sitio2
Activamos el modulo ssl
sudo a2enmod ssl
Y obligatoriamente para que funcione ssl tenemos que reiniciar no es válido un reload.
sudo service apache2 restart


3.CONFIGURACION EN NGINX


Una vez realizados los pasos comunes. Tendremos el server.key y el server.crt en el siguiente directorio etc/nginx/ssl
Nos cambiamos a la carpeta cd /etc/nginx/sites-available/
Hacemos un copy del archivo default para modificarlo
sudo cp default sitio2.com
Lo modificamos con nano
sudo nano sitio2.com
Realizamos las siguiente modificaciones
server {
   listen 443;
   server_name sitio2.com;

   root /var/www/sitio2;
   index index.html index.htm;

   ssl on;
   ssl_certificate /etc/nginx/ssl/server.crt;
   ssl_certificate_key /etc/nginx/ssl/server.key;
}
Guardamos y salimos.
Ahora tenemos que realizar un enlace simbólico de este archivo a sites-enabled
sudo ln -s /etc/nginx/sites-available/sitio2.com /etc/nginx/sites-enabled/sitio2.com
Y reiniciamos el servicio nginx
sudo service nginx restart


4.COMPROBACIÓN (PASO COMÚN)


Vemos los resultados en el navegador

*Previamente se añade el sitio2.com a host esto se explica en configuración de virtual host.

Al entrar a https://sitio2.com (importante el https de seguridad) el navegador nos da el siguiente mensaje:


Ya que nuestro certificado esta autofirmado y no tiene validez alguna.


Vemos el certificado:



Y lo obtenemos para entrar a este sitio web.

Espero que os sea de ayuda si tenéis alguna duda dejarla en comentarios.


Twitter Oficial del Blog Twitter Oficial de Frecuency