升级到ubuntu 18.04.1后curl和wget无法与https站点一起使用

时间:2018-09-03 12:25:21

标签: curl https openssl wget ubuntu-18.04

似乎是与opensl相关的问题。有人对这是什么有任何想法吗?

请注意,该网址可在浏览器中使用。

使用wget:

# wget -d https://deb.nodesource.com/setup_8.x

DEBUG output created by Wget 1.19.4 on linux-gnu.

Reading HSTS entries from /home/user/.wget-hsts
URI encoding = ‘UTF-8’
Converted file name 'setup_8.x' (UTF-8) -> 'setup_8.x' (UTF-8)
--2018-09-02 19:54:06--  https://deb.nodesource.com/setup_8.x
Could not seed PRNG; consider using --random-file.
OpenSSL: error:2406F07A:random number generator:RAND_load_file:Not a regular file
Disabling SSL due to encountered errors.

卷曲:

# curl -v -L https://deb.nodesource.com/setup_8.x

*   Trying 205.251.207.2...
* TCP_NODELAY set
* Connected to deb.nodesource.com (205.251.207.2) port 443 (#0)

<hangs>

1 个答案:

答案 0 :(得分:2)

您似乎遇到了以下OpenSSL错误/功能:1.1.1 -> RAND_load_file() does not accept special files

检出源代码op wget,您可以看到它在函数init_prng()中调用了RAND_load_file()。该功能还说明了一些可用于指向其他文件(应为常规文件)的选项:

  /* Seed from a file specified by the user.  This will be the file
     specified with --random-file, $RANDFILE, if set, or ~/.rnd, if it
     exists.  */

您可以尝试其中的任何一种,也可以使用1.1.0版本的OpenSSL。或使用gnutls,就像您已经做过的:-)


顺便说一句,我无法重现您的问题,所以我无法确定这是原因。但是,我认为您的问题不是由升级到18.04.1。引起的。您当前的OpenSSL安装似乎有些混乱。版本号表示这是来自未标记的OpenSSL存储库状态的构建。我不希望这些库位于LD_LIBRARY_PATH中的“标准” OpenSSL库之前的/usr/lib/x86_64-linux-gnu中。


根据来回的评论,最终结论是您过去已经构建并安装了OpenSSL 1.1.1版本,当时可以正常工作。但是在更新为18.04.1之后,提到的错误被暴露了。找出导致该更新的确切更改是很有趣的,但是我想知道对您的问题的立即答复对于现在是足够的:-)