Instalación de un certificado SSL en Nginx – Alojamiento –

Crear un bloque de servidor Nginx separado o modificar el archivo de configuración existente

Para instalar el certificado SSL en Nginx, debe mostrarle al servidor qué archivos usar, ya sea a) creando un nuevo archivo de configuración o b) editando el existente.

a) Al agregar un nuevo archivo de configuración para el sitio web, puede asegurarse de que no haya problemas con el archivo de configuración separado. Además, será bastante más fácil solucionar problemas de instalación en caso de que surja algún problema con la nueva configuración.

Sugerimos crear un nuevo archivo de configuración en esta carpeta:

/etc/nginx/conf.d

Eso se puede hacer mediante este comando:

sudo nano /etc/nginx/conf.d/Su_dominio*-ssl.conf

Donde Your_domain*-ssl.conf es el nombre del archivo recién creado.

A continuación, copie y pegue uno de los siguientes bloques de servidor para el puerto 443 y edite los directorios. Asegúrese de que el nombre del servidor y la ruta a webroot coincidan tanto en el bloque del servidor para el puerto 80 como en el del puerto 443. Si tiene otros valores importantes que deban guardarse, muévalos también al bloque del servidor recién creado.

b) Edite el archivo de configuración predeterminado del servidor web, que se denomina nginx.conf. Debería estar en una de estas carpetas:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

También puedes usar este comando para encontrarlo:

sudo buscar / -tipo f -iname “nginx.conf”

Una vez que lo encuentre, abra el archivo con:

sudo nano nginx.conf

Luego copie y pegue uno de los bloques de servidor para el puerto 443 que se indican a continuación y edite los directorios de acuerdo con su bloque de servidor para el puerto 80 (con el nombre del servidor correspondiente, la ruta a webroot y cualquier valor importante que necesite). Alternativamente, puede copiar el bloque del servidor para el puerto 80, luego pegarlo a continuación, actualizar el puerto y agregar las directivas necesarias relacionadas con SSL.

See also  Cómo transferir un dominio desde Melbourne IT - Transferencias de dominio -

Elija el bloque del servidor:

A continuación puede encontrar un bloque de servidor para su versión de Nginx.

Nota: Para verificar su versión de Nginx, ejecute este comando:

sudo nginx-v

Nota: Reemplace los valores de los nombres de archivos, como your_domain_chain.crt, en el bloque del servidor con sus detalles y modifique las rutas hacia ellos usando /path/to/.

  • Bloque de servidor para Nginx versión 1.14 y anteriores:

servidor {

escuchar 443;

SSL activado;

certificado_ssl /ruta/al/certificado/su_cadena_dominio.crt;

clave_certificado_ssl /ruta/a/su_clave_privada;

raíz /ruta/a/webroot;

nombre_servidor su_dominio.com;

}

Nota: Puede especificar varios nombres de host en dicha configuración, si es necesario, por ejemplo:

servidor {

escuchar 443;

SSL activado;

certificado_ssl /ruta/al/certificado/su_cadena_dominio.crt;

clave_certificado_ssl /ruta/a/su_clave.privada;

raíz /ruta/a/webroot;

nombre_servidor tu_dominio.com www.tu_dominio.com;

}

  • Bloque de servidor para Nginx versión 1.15 y superiores:

servidor {

escuchar 443 ssl;

certificado_ssl /ruta/al/certificado/su_cadena_dominio.crt;

clave_certificado_ssl /ruta/a/su_clave.privada;

raíz /ruta/a/webroot;

nombre_servidor su_dominio.com;

}

Importante: Para a o a , necesitará agregar un bloque de servidor separado para cada uno de los dominios/subdominios incluidos en el Certificado. Asegúrese de especificar el dominio/subdominio en cuestión junto con las rutas a los mismos archivos de certificado en el bloque del servidor, como se describe anteriormente.

Una vez que se agregue el bloque de servidor correspondiente al archivo, asegúrese de guardar las ediciones. Luego, puede volver a verificar los cambios realizados con los siguientes pasos.

Ejecute este comando para verificar que la sintaxis del archivo de configuración sea correcta:

sudo nginx-t

Si recibe errores, verifique que haya seguido la guía correctamente. No dude en ponerse en contacto con nuestro si tiene alguna pregunta.

Este es el consejo: para encontrar los registros de errores para solucionar problemas, simplemente ejecute:

See also  ¿Qué es el alojamiento de correo electrónico?

sudo nginx -T | grep 'error_log'

En caso de que ninguno de los archivos mencionados exista, los archivos estén comentados o si no se especifica ningún archivo de registro de errores, se debe verificar el registro predeterminado del sistema:

cola /var/log/nginx/error.log -n 20

Si el servidor muestra la prueba exitosamente, reinicie Nginx con este comando para aplicar los cambios:

sudo nginx -s recargar

Ahora su certificado SSL está instalado. Puedes comprobar la instalación.

Notas importantes:

A veces, después de instalar un archivo SSL que se combinó mediante una línea de comando, es posible que reciba un mensaje de error ''; en este caso, la solución alternativa se puede encontrar en la guía de referencia.

Otro problema común en esta etapa es el mensaje de error 'Nginx SSL: error:0B080074:rutinas de certificado x509: X509_check_private_key:los valores de clave no coinciden', puede encontrar más detalles al respecto y las posibles salidas en .

Configurar el redireccionamiento HTTPS

Le sugerimos que instale la redirección de HTTP a HTTPS. De esa manera, los visitantes de su sitio web sólo podrán acceder a la versión segura de su sitio.

Para hacer esto, deberá agregar una línea al archivo de configuración con el bloque del servidor para el puerto 80.

Consejos:

  • Puede utilizar uno de los siguientes comandos para buscar los archivos de configuración que están habilitados ahora:

sudo nginx -T | grep -iw “archivo de configuración”

sudo nginx -T | grep -iw “incluir”

  • Las rutas predeterminadas al archivo conf son:

en el sistema operativo Linux basado en RHEL: /etc/nginx/conf.d/default.conf

en el sistema operativo Linux basado en Debian: /etc/nginx/sites-enabled/default

  • Puede abrir los archivos para comprobar cuál contiene el bloque de servidor necesario. Para esto ejecute:

sudo nano nombre_del_archivo

Una vez que encuentre el archivo que contiene el bloque del servidor para el puerto 80 (el puerto HTTP predeterminado), agregue la siguiente línea:

devolver 301 https://$nombre_servidor$request_uri;

Nota: La regla de redireccionamiento anterior debe ingresarse como la última línea en el bloque del servidor.

  • return es la directiva principal a utilizar.

  • 301 es la redirección permanente (302 es la temporal).

  • https es un tipo de esquema específico (el explícito en lugar de la variable $scheme).

  • La variable $server_name utilizará el dominio especificado en la directiva server_name.

  • La variable $request_uri se utiliza para hacer coincidir las rutas a las páginas/partes solicitadas del sitio web (todo después del nombre de dominio).

A continuación se muestran ejemplos de bloques de servidor con redireccionamiento HTTPS:

Redirección permanente a HTTPS

servidor {

escuchar 80;

nombre_servidor tu_dominio.com www.tu_dominio.com;

devolver 301 https://$nombre_servidor$request_uri;

}

Redirección permanente a HTTPS sin www

servidor {

escuchar 80;

nombre_servidor tu_dominio.com www.tu_dominio.com;

devolver 301 https://tu_dominio.com$request_uri;

}

Redirección permanente a HTTPS www

servidor {

escuchar 80;

nombre_servidor tu_dominio.com www.tu_dominio.com;

devolver 301 https://www.tu_dominio.com$request_uri;

}

Redirección temporal a HTTPS sin www

servidor {

escuchar 80;

nombre_servidor tu_dominio.com www.tu_dominio.com;

devolver 302 https://tu_dominio.com$request_uri;

}

Puede encontrar más detalles sobre las opciones de redireccionamiento en Nginx.

Loading Facebook Comments ...
Loading Disqus Comments ...