Nginx의 오류 로그에는 일부 OpenSSL 핸드셰이크 오류가 표시되었으며, 원인을 검색하는 동안 사용 중인 OpenSSL 버전에 대한 출력이 혼란스럽다는 것을 발견했습니다.
Details:
Debian Jessie 8.7 64 Bit
# apt-cache policy openssl
openssl:
Installed: 1.0.1t-1+deb8u6
Candidate: 1.0.1t-1+deb8u6
Version table:
1.0.2k-1~bpo8+1 0
100 http://ftp.debian.org/debian/ jessie-backports/main amd64 Packages
*** 1.0.1t-1+deb8u6 0
500 http://security.debian.org/ jessie/updates/main amd64 Packages
100 /var/lib/dpkg/status
1.0.1t-1+deb8u5 0
500 http://mirror.hetzner.de/debian/packages/ jessie/main amd64 Packages
500 http://http.debian.net/debian/ jessie/main amd64 Packages
# apt-cache policy nginx
nginx:
Installed: 1.9.10-1~bpo8+4
Candidate: 1.10.3-1~bpo8+1
Version table:
1.10.3-1~bpo8+1 0
100 http://ftp.debian.org/debian/ jessie-backports/main amd64 Packages
*** 1.9.10-1~bpo8+4 0
100 /var/lib/dpkg/status
1.6.2-5+deb8u4 0
500 http://mirror.hetzner.de/debian/packages/ jessie/main amd64 Packages
500 http://http.debian.net/debian/ jessie/main amd64 Packages
500 http://security.debian.org/ jessie/updates/main amd64 Packages
# nginx -V
nginx version: nginx/1.9.10
built with OpenSSL 1.0.2j 26 Sep 2016 (running with OpenSSL 1.0.2k 26 Jan 2017)
# openssl version -a
OpenSSL 1.0.1t 3 May 2016 (Library: OpenSSL 1.0.2k 26 Jan 2017)
openssl 1.0.2k
nginx를 실행 하고 penssl version -a
"라이브러리가 있습니다" OpenSSL 1.0.2k
라고 말하지만 apt-cache policy openssl
"이미 설치되었습니다"라고 표시 하려면 어떻게 해야 합니까 1.0.1t
?
누군가 이것을 설명할 수 있나요?
답변1
이것openssl
패키지에는 라이브러리가 아닌 프런트엔드 바이너리가 포함되어 있습니다. 귀하는 Jessie가 제공하는 이 패키지(및 해당 보안 업데이트)를 따르고 있습니다.
도서관 그 자체는libssl1.0.0
, 그리고 해당 패키지의 Jessie 백포트를 추적하고 있습니다(Nginx도 마찬가지입니다. Nginx보다 몇 버전 뒤떨어져 있습니다). 이는 Nginx에서 사용되며 프런트 엔드에서 인식되는 라이브러리 버전입니다 openssl
. 다음 명령을 사용하여 시스템의 라이브러리 버전을 확인할 수 있습니다.
apt-cache policy libssl1.0.0
(가능한 경우 최신 버전의 가용성도 포함)
답변2
nginx -V
커널을 빌드하는 데 사용된 openssl 버전과 사용 중인 시스템의 버전도 표시되는 것 같습니다 .