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のバージョンと、使用しているシステムのバージョンも表示されているようです。