我今天早些时候更新了我的Ubtuntu 16.04
服务器,其中一个应用程序wkhtmltopdf
停止了工作。
根据此处讨论,解决办法是降级并锁定libssl
到以前的版本。
apt install libssl-dev=1.0.2g-1ubuntu4.8
当我尝试降级时:
vagrant@homestead:~/src$ sudo apt install libssl-dev=1.0.2g-1ubuntu4.8
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '1.0.2g-1ubuntu4.8' for 'libssl-dev' was not found
有关我的服务器的更多信息是:
root@aubeta:/app# ldconfig -p |grep libssl
libssl.so.1.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libssl.so.1.1
libssl.so.1.0.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libssl.so.1.0.0
libssl.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libssl.so
root@aubeta:/app# apt-cache search libssl
libssl-dev - Secure Sockets Layer toolkit - development files
libssl-doc - Secure Sockets Layer toolkit - development documentation
libssl1.1 - Secure Sockets Layer toolkit - shared libraries
libssl1.0.0 - Secure Sockets Layer toolkit - shared libraries
我按照建议尝试了这个版本:
sudo apt-get install libssl-dev=1.0.2g-1ubuntu4.10
得到类似的结果:
root@aubeta:/app# apt-get install libssl-dev=1.0.2g-1ubuntu4.10
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '1.0.2g-1ubuntu4.10' for 'libssl-dev' was not found
以下是评论者的进一步屏幕输出:
root@aubeta:/app# apt-cache policy libssl-dev
libssl-dev:
Installed: 1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1
Candidate: 1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1
Version table:
*** 1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1 500
500 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
root@aubeta:/app# sudo dpkg -s libssl-dev
Package: libssl-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 6961
Maintainer: Debian OpenSSL Team <[email protected]>
Architecture: amd64
Multi-Arch: same
Source: openssl
Version: 1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1
Depends: libssl1.1 (= 1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1)
Recommends: libssl-doc
Conflicts: libssl1.0-dev
Description: Secure Sockets Layer toolkit - development files
This package is part of the OpenSSL project's implementation of the SSL
and TLS cryptographic protocols for secure communication over the
Internet.
.
It contains development libraries, header files, and manpages for libssl
and libcrypto.
Homepage: https://www.openssl.org/
任何帮助都将受到赞赏。
答案1
您应该关注https://packages.ubuntu.com/xenial/libssl-dev并下载适当的版本并安装使用
dpkg -i 软件包名称
答案2
看来您没有安装标准版 Ubuntu,或者至少 的版本libssl
不是官方的。您使用的libssl-dev
是 版本1.1.0g-2.1+ubuntu16.04.1+deb.sury.org+1
,其名称暗示是1.1.0g-2.1
OpenSSL 的 版本ubuntu16.04.1
与 的版本的组合deb.sury.org
(尝试1
?)。
您可以查看版本的变更日志这里。我认为您可以尝试使用其中一个版本(SSLv3 在 已禁用1.1.0~pre5-1
)。也许可以先尝试一下?
需要说明的是,我认为降级 SSL 对您和您的客户来说都不是最佳选择。我认为正确的方法是强制wkhtmltopdf
软件包维护者反映最新的协议。这可能不可行且不快速,但应该这样做。
答案3
wkhtmltopdf
和的问题libssl
已在 2018 年 6 月 10 日发布的 0.12.5 版本中得到修复。转到wkhtmltopdf 网站的下载页面下载并安装更新。因此无需降级libssl
。