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

问题描述 投票:1回答:1

似乎是一个与openssl相关的问题。任何人都对这是什么有任何想法?

请注意,网址在浏览器中有效。

用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>
curl https openssl wget ubuntu-18.04
1个回答
2
投票

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

检查源代码op wget,你可以看到它在函数RAND_load_file()中调用init_prng()。该函数还解释了一些可用于指向不同文件的选项(应该是常规文件):

  /* 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之后,提到的错误被曝光了。有趣的是弄清楚该更新中的哪些确切变化导致它,但我想知道你的问题的直接答案现在已经足够好了:-)

© www.soinside.com 2019 - 2024. All rights reserved.