Un scénario possible:
il peut parfois arriver que lors de la configuration des fichiers SSL (clé privée et certificat) pour le Virtualhost en cours de configuration, il ait été oublié de spécifier le chemin absolu où ces fichiers résident.
Par exemple, si vous suivez ce document officiel de Nginx: http://nginx.org/en/docs/http/configuring_https_servers.html
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate tdmssl.crt;
ssl_certificate_key tdmssl.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
...
}
Supposons que vous stockiez les fichiers SSL dans " /etc/nginx/conf.d ":
root@ilg40:/etc/nginx/conf.d# pwd
/etc/nginx/conf.d
root@ilg40:/etc/nginx/conf.d# ll
total 16
drwxr-xr-x 2 root root 4096 Jan 24 17:39 ./
drwxr-xr-x 5 root root 4096 Jan 24 21:15 ../
-rw-r--r-- 1 root root 1359 Jan 24 17:39 tdmssl.crt
-rw-r--r-- 1 root root 1675 Jan 24 17:39 tdmssl.key
Ce qui se produit?
Par défaut, lorsqu'il n'est pas spécifié le chemin absolu d'un fichier ordinaire utilisé par Nginx, Nginx recherchera les fichiers dans "/ etc / nginx"
Depuis /var/log/nginx/error.log
2017/01/24 21:05:10 [emerg] 13113#0:
BIO_new_file("/etc/nginx/tdmssl.crt")
failed(SSL:error:02001002:system library:fopen:
No such file or directory:fopen('/etc/nginx/tdmssl.crt','r')
error:2006D080:BIO routines:BIO_new_file:no such file)
Que faut-il faire?
Pour spécifier le chemin absolu des fichiers supplémentaires utilisés par votre configuration Virtualhost.
Comme ça:
root@ilg40:/etc/nginx/conf.d# cd
root@ilg40:~# cat /etc/nginx/sites-available/tdm
server {
listen 443 ssl;
server_name tjsdatamanager.redtjs.com;
ssl_certificate /etc/nginx/conf.d/tdmssl.crt;
ssl_certificate_key /etc/nginx/conf.d/tdmssl.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
include proxy_params;
proxy_pass http://unix:/etc/tdm/flask/wsgi.sock;
}
}
path/to/cert.pem
n'est certainement pas un emplacement valide.