Nginx configura el certificado SSL y lo cifra en los detalles del proceso https (la directiva SSL está en desuso; no se puede cargar el certificado)

Prefacio

  • En el desarrollo diario, cuando accedemos a proyectos en la red pública, normalmente utilizamos una conexión segura, comenzando con https:// (muy pocos http://)

  • Cuando configuramos el servidor de nombres de dominio nosotros mismos, http se reenvía a través de Nginx, esto se debe a que no hemos configurado un certificado.

  • El navegador notará que nuestra transmisión no está cifrada según el estándar, por lo que determinará que nuestra conexión no es segura, pero no afectará al uso.

  • De hecho, cuando el nombre de dominio es nuestro, existe una solicitud de certificado SSL gratuita correspondiente, pero no la solicitamos nosotros mismos.

Condiciones y condiciones

  • Mi nombre de dominio fue comprado por Alibaba Cloud (resolución de nombre de dominio) y el servidor es Tencent Cloud (servidor en la nube liviano)

  • Y el servidor y el nombre de dominio se han registrado y se puede acceder a ellos normalmente. El servidor es una imagen de Windows.

  • Venga a Alibaba Cloud para solicitar el certificado SSL del nombre de dominio. El certificado SSL del nombre de dominio es una correspondencia uno a uno (también es necesario solicitar el nombre de dominio de segundo nivel)

  • Asegúrese de ir al servidor y comprobar si el puerto https-443 está abierto; normalmente está abierto de forma predeterminada.

Proceso de implementación

1. Primero abrimos Alibaba Cloud - iniciamos sesión para comprar una cuenta de nombre de dominio - hacemos clic en buscar en la consola - servicio de administración de certificados digitales

2. Haga clic en el certificado gratuito; debe hacer clic para crear un certificado virtual por primera vez (hay 20 gratuitos)

3. Haga clic en Crear certificado nuevamente; aparecerá una línea debajo; haga clic en Solicitud de certificado a la derecha; complete la información correspondiente; envíela para revisión; generalmente tardará unos 10 minutos en pasar y se le notificará por SMS y correo electrónico.

4. Descargue el certificado SSL en modo Nginx: vea la documentación de uso (después de pasar la revisión, aparecerá un botón de descarga a la derecha)

5. Vaya al archivo nginx-html del servidor: cree un archivo ssl para almacenar el certificado.

6. Modifique el archivo de configuración nginx-conf-nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
​
​
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65; 
   
   # 这个server负责默认转发到https,配置证书之后,只是http和https都可以访问,但是默认还是http访问
      #  这一段是默认https访问-官方文档有讲   
   server {
    listen 80;
    #填写证书绑定的域名
    server_name 你的域名;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
       location / {
           index index.html index.htm;
        }
    }
    
    server {
        #listen       80;
        #定义服务器的默认网站根目录位置
            server_name  你的域名;
        # 开启ssl证书-这种写法淘汰-会报错
        #ssl on;
            # 开启https端口-默认 
        listen 443 ssl;
        # 证书凭证-./相对路径
            ssl_certificate         ./html/SSL/FW/你的域名.pem;
            ssl_certificate_key     ./html/SSL/FW/你的域名.key;
        # 系统配置-可要可不要
        ssl_session_cache shared:SSL:1m;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
            #表示优先使用服务端加密套件。默认开启
            ssl_prefer_server_ciphers on;
        
        location / {
            root   html/fw/dist;
            index  index.html index.htm;
        try_files $uri $uri/ /index.html; #解决页面刷新404问题
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
​
    }
​
}
 
 

7. Utilice el comando de reinicio nginx para actualizar la configuración.

nginx -s recargar

8. La entrada predeterminada es https (conexión segura) y no se informa ningún error, lo que indica que la configuración se realizó correctamente.

detalle

  • Después de descargar el certificado SSL y colocarlo en el servidor, intente no cambiar el nombre (www./sin www. no lo afectará)

  • Al introducir el certificado, utilice (./) - nombre relativo, asegúrese de comprobar la ruta - para evitar errores

Recopilación de informes de errores

1. Habilite el comando ssl para descartar el error: la directiva ssl está obsoleta

Solución: cambie el comando

# 开启ssl证书-这种写法淘汰-会报错
# ssl on;
# 开启https端口-默认-改用下面写法 
listen 443 ssl;

2. Introduzca la ruta del certificado SSL e informe el error: no se puede cargar el certificado

solución

Verifique la ruta; se recomienda usar ./ ​​ruta

3. Cuando se descubre que el certificado SSL está configurado, no se informa ningún error y el inicio se realiza correctamente. Cuando el acceso sigue siendo http, es porque la capa del servidor no está configurada - nota


Resumir:

Después de pasar por este proceso, creo que también tendrá una impresión profunda inicial sobre los detalles de la configuración del certificado SSL de Nginx y el proceso de cifrado en https (la directiva SSL está obsoleta; no se puede cargar el certificado), pero en el desarrollo real, la situación que Lo que encontramos debe ser diferente, por lo que debemos comprender sus principios y nunca desviarnos de sus orígenes. ¡Vamos, golpea a los trabajadores!

Por favor señale cualquier deficiencia, gracias - Feng Guo Wuhen

Supongo que te gusta

Origin blog.csdn.net/weixin_53579656/article/details/132938985
Recomendado
Clasificación