Red de conocimiento informático - Material del sitio web - Cómo implementar un certificado SSL en el servidor nginx

Cómo implementar un certificado SSL en el servidor nginx

1. Crear certificado SSL

1.1 Generar clave privada, openssl genrsa -des3 -out xn2.lqb.com.key 2048. Este comando generará una clave privada RSA de 2048 bits utilizando el algoritmo DES3. El nombre del archivo de la clave privada se puede nombrar arbitrariamente. Puede especificar la ruta del archivo en la configuración de Nginx. Por favor establezca la contraseña y recuérdela.

[root@Monitorssl]#opensslgenrsa-des3-outxn2.lqb.com2048 Generando clave privada RSA, módulo largo de 2048 bits.......... ................................................. ................................. ............ eis65537( 0x010001) Enterpassphraseforxn2.lqb.com: Verificar - Enterpassphraseforxn2.lqb.com:

1.2 La clave creada arriba tiene una contraseña, si elimina la contraseña y ejecuta el siguiente comando openssl rsa -in xn2.lqb.com -out xn2.lqb.com_nopwd.key

[root@Monitorssl]#ls xn2.lqb.com [root@Monitorssl]#opensslrsa -inxn2.lqb.com- outxn2.lqb.com_nopwd.key Ingrese la frase de contraseña paraxn2 .lqb.openssl rsa -in xn2.lqb.com -out xn2.lqb.com_nopwd.key

[root@Monitorssl]#openssl rsa -in xn2. Escribir clave RSA [root@Monitorssl]#opensslreq- new-keyxn2.lqb.com-outxn2.lqb.com.csr Ingrese la contraseña de xn2.lqb.com. Se le pedirá que ingrese información que se incluirá en su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama "nombre distinguido" o "DN". Puede dejar espacios en varios campos, pero algunos campos tendrán valores predeterminados establecidos y si ingresa '.' los campos se conservarán. entonces este campo quedará en blanco.

-- Nombre del país (código de 2 letras) [AU]: nombre del estado o provincia CN (nombre completo) [nombre de un determinado estado de Shanghai (por ejemplo, ciudad) []: nombre de la organización de Shanghai (por ejemplo, empresa) [ InternetWidgitsPtyLtd]: xn2.lqb.com Nombre de la unidad organizativa (por ejemplo, departamento) []: Nombre común de TI [InternetWidgitsPtyLtd]: xn2.lqb.com.Department) []: Nombre común de TI (como serverFQDN o su nombre) [ ]: xn2.lqb.com Dirección de correo electrónico[]: 2223344@qq.com Ingrese los siguientes atributos "adicionales" para satisfacer su solicitud de certificado Contraseña de desafío[]: Un nombre de usuario opcional[]:[root@Monitorssl]#ls xn2. lqb.comxn2.lqb.com.csrxn2.lqb.com_nopwd.key

1.4. Archivo de solicitud de certificado El archivo CSR debe estar firmado por la CA para formar un certificado. Se puede enviar a StartSSL (puede ser. completado de forma gratuita), verisign (que requiere una gran suma de dinero) y otros lugares, quién lo verificará. También puede ser su propia CA y emitir certificados para usted mismo. openssl req -new -x509 -days 3650 -key xn2.lqb.com -out xn2.lqb.com.crt

[root@Monitorssl]#opensslreq-new-x509-days3650-keyxn2.lqb. com-outxn2.lqb.com.crt xn2.lqb.comxn2.lqb.com.csrxn2.lqb.com_nopwd.key [root@Monitorssl]#opensslreq-new-x509-days3650-keyxn2.lqb.com_nopwd.key-outxn2. lqb.com.crt Se le pedirá que ingrese información que se incluirá en la solicitud de certificado. Lo que está a punto de ingresar es lo que se llama "nombre distinguido" o "DN". Puede dejar varios campos en blanco. entonces este campo quedará en blanco.

-- Nombre del país (código alfabético de 2 dígitos) [AU]: CN Nombre del estado o nombre de la provincia (nombre completo) [un determinado estado Nombre de la organización (como la empresa) [InternetWidgitsPtyLtd]: lqb.com OrganizationalUnitName (como el departamento). ) []: Nombre común de TI (como servidorFQDNoSUnombre)[]:xn2.lqb.com Dirección de correo electrónico[]:[root@Monitorssl]#lsxn2.lqb.comxn2.lqb.com.crtxn2.lqb.com.csrxn2.lqb.com_nopwd .key

2. Configurar el archivo de host virtual nginx

[root@Monitorssl]#vim.../server.conf server{ server_namexn2.lqb.com; /xn2; #rewrite^/ (. *)$/$1permanent; ubicación/{ indexindex.html; #proxy_cache_valid30130210m; ### Habilitar soporte SSL para hosts virtuales ssl_certificate /usr/local/nginx/conf/server/ssl/xn2. lqb.com.crt; #### Especifique el archivo de certificado de firma del host virtual ssl_certificate_key/usr/local/nginx/conf/server/ssl/xn2.lqb.com_nopwd.key #### Especifique el archivo de clave privada para host virtual #### ssl_session_timeout5m; #### Los clientes pueden reutilizar los parámetros de sesión almacenados en el tiempo de espera de caché root/html/xn3; headerHost$host; proxy_set_headerX-Real-IP$remote_addr }}