가능한 시나리오 :
때로는 구성중인 가상 호스트에 대해 SSL 파일 (개인 키 및 인증서)을 구성 할 때 이러한 파일이 상주하는 절대 경로를 지정하지 않은 경우가 있습니다.
예를 들어 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;
...
}
" /etc/nginx/conf.d " 안에 SSL 파일을 저장한다고 가정하십시오 .
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
무슨 일이야?
기본적으로 Nginx에서 사용하는 일반 파일의 절대 경로를 지정하지 않으면 Nginx는 "/ etc / nginx"에서 파일을 검색합니다.
/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)
무엇을해야합니까?
가상 호스트 구성에 사용되는 추가 파일의 절대 경로를 지정합니다.
이처럼 :
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
확실히 유효한 위치 가 아닙니다 .