curl и wget не работают с сайтами https после обновления до Ubuntu 18.04.1 - PullRequest
0 голосов
/ 03 сентября 2018

Кажется, это проблема, связанная с openssl. У кого-нибудь есть идеи относительно того, что это такое?

Обратите внимание, что URL работает в браузере.

С помощью 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 голосов
/ 04 сентября 2018

Вы, похоже, сталкиваетесь с этой ошибкой / функцией OpenSSL: 1.1.1 -> RAND_load_file () не принимает специальные файлы .

Проверяя исходный код 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 упомянутая ошибка была обнаружена. Было бы интересно выяснить, какие именно изменения в этом обновлении вызвали его, но я полагаю, что сейчас достаточно знать, что немедленный ответ на ваш вопрос: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...