SO: Ubuntu 20.04 instalado Virtualmin + Nginx + PHP-FPM
Todo se configuró bien, sin embargo, cuando instalé la prueba de 3 meses del Certificado SSL (Certificado totalmente válido) no desde Letsencrypt (límite alcanzado), todo funciona perfectamente, pero cuando me cambié a Cloudflare mi sitio web falló y no se encontró el servidor 521. Intenté cambiar a una opción diferente como Flexible, Completo, Completo (estricto) sin suerte
dominio
tail -f /var/log/nginx/error.log
Obtuve un montón de errores en el archivo de registro.
root@server:~# tail -f /var/log/nginx/error.log
2020/12/29 21:59:05 [emerg] 6813#6813: bind() to 2xx.2xx.xx3.xxx:443 failed (98: Address already in use)
2020/12/29 21:59:05 [emerg] 6813#6813: bind() to [2xxx:a1xx:xxxx:8xxx::1]:443 failed (98: Address already in use)
2020/12/29 21:59:05 [emerg] 6813#6813: still could not bind()
2020/12/29 22:31:47 [emerg] 512#512: cannot load certificate “/home/example/ssl.cert”: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(’/home/example/ssl.cert’,‘r’) error:2006D080:BIO routines:BIO_new_file:no such file)
2020/12/29 22:32:37 [emerg] 1986#1986: cannot load certificate “/home/example/ssl.cert”: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(’/home/example/ssl.cert’,‘r’) error:2006D080:BIO routines:BIO_new_file:no such file)
2020/12/29 23:58:45 [alert] 12025#12025: *1168 open socket #17 left in connection 93
2020/12/29 23:58:45 [alert] 12025#12025: aborting
Estoy bastante seguro de que esos archivos SSL están ahí, pero nginx piensa en otra cosa;(
Este es el resultado que obtengo
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 678/mysqld
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 1722/master
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 787/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 787/dovecot
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 19353/perl
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19330/nginx: master
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 1722/master
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 15079/systemd-resol
tcp 0 0 207.244.253.107:53 0.0.0.0:* LISTEN 575/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 575/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 630/sshd: /usr/sbin
tcp 0 0 127.0.0.1:11000 0.0.0.0:* LISTEN 1044/lookup-domain-
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1722/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 575/named
tcp 0 0 207.244.253.107:443 0.0.0.0:* LISTEN 19330/nginx: master
tcp 0 0 0.0.0.0:20000 0.0.0.0:* LISTEN 19398/perl
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 787/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 787/dovecot
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 678/mysqld
tcp 0 0 127.0.0.1:10023 0.0.0.0:* LISTEN 542/postgrey --pidf
tcp6 0 0 :::587 :::* LISTEN 1722/master
tcp6 0 0 :::2222 :::* LISTEN 8361/proftpd: (acce
tcp6 0 0 :::110 :::* LISTEN 787/dovecot
tcp6 0 0 :::143 :::* LISTEN 787/dovecot
tcp6 0 0 :::10000 :::* LISTEN 19353/perl
tcp6 0 0 :::80 :::* LISTEN 19330/nginx: master
tcp6 0 0 :::465 :::* LISTEN 1722/master
tcp6 0 0 :::21 :::* LISTEN 8361/proftpd: (acce
tcp6 0 0 ::1:53 :::* LISTEN 575/named
tcp6 0 0 :::22 :::* LISTEN 630/sshd: /usr/sbin
tcp6 0 0 :::25 :::* LISTEN 1722/master
tcp6 0 0 ::1:953 :::* LISTEN 575/named
tcp6 0 0 :::993 :::* LISTEN 787/dovecot
tcp6 0 0 :::995 :::* LISTEN 787/dovecot
tcp6 0 0 ::1:10023 :::* LISTEN 542/postgrey --pidf
root@server:~#
Y sí, los archivos están ahí y el permiso está configurado en chmod 600.
Gracias
Respuesta1
En primer lugar, algún programa escucha el puerto 443. Puede encontrar qué programa escucha el puerto 443 con netstat -ltnp
el comando. Si netstat no se encuentra en su servidor, instale el paquete net-tools.
En segundo lugar, nginx no puede acceder a su certificado. /home/example/ssl.cert
Compruebe si existen estos certificados. Si permanecen allí, verifique el permiso del archivo.