Обновление Openssl из исходного кода [закрыто]

Я обновил версию openssl на своем сервере до последней версии openssl, но библиотеки, которые использует обратный прокси-сервер, указывают на.

  strings /usr/lib64/libssl.so.10 | grep "^OpenSSL "

  OpenSSL 1.0.1e-fips 11 Feb 2013

Где, когда я набираю команду

openssl version

показывает

   [root@newreverseproxy openssl-1.0.2]# openssl version   
   OpenSSL 1.0.2 22 Jan 2015

Мне нужен обратный прокси-сервер nginx, чтобы использовать последнюю версию OpenSSL, был бы очень признателен, если бы кто-нибудь мог мне помочь с этим.

-1
задан 18 February 2015 в 10:21
2 ответа

«проблема» в том, что ваш ngnix связан с определенной версией libssl (libssl.so.10) ... ваш недавно скомпилированный libssl имеет другую версию. Запустите

ldd `which openssl`

, чтобы узнать, какая это версия ...

Чтобы ngnix мог использовать новую версию libssl , вам также необходимо перекомпилировать ngnix .

Другой вариант - скомпилировать openssl-1.0.1l.tar.gz , последнюю версию линейки программного обеспечения 1.0.1. Полученный libssl будет совместим с 1.0.1e и может быть легко использован вашим существующим двоичным файлом ngnix .

Если вы заменяете libssl на более новую версию, обратите внимание, что это довольно «рискованный» бизнес, поскольку многие приложения используют libssl, поэтому лучше убедиться, что он работает, иначе многие программы могут даже не запуститься.

Хороший способ просто заменить libssl на ngnix - это установите новую libssl в альтернативную директрой, а затем запустите ngnix с переменной среды LD_LIBRARY_PATH , указывающей на новый каталог. Просто убедитесь, что вновь скомпилированная библиотека называется точно так же, как та, которую вы найдете при запуске ldd на ngnix

export LD_LIBRARY_PATH=/usr/local/new-libssl/lib
ngnix -whatever-options-you-want
1
ответ дан 5 December 2019 в 19:53

Помимо предложения Тоби о версиях openssl, возможно, вы не устанавливаете библиотеки в правильные места. Если вы просто запустите "./configure; make; make install", он будет установлен, например, в / usr / local / lib по умолчанию. Даже если вы установите префикс правильно, вы все равно можете устанавливать его в / usr / lib /, а не в / usr / lib64, и ldconfig может быть настроен неправильно

Однако в вашем дистрибутиве почти наверняка есть обновленные библиотеки, которые не включают компиляцию. Ручная компиляция openssl теперь более или менее обязывает вас вручную компилировать его, так что это действительно последний метод. Здесь не подразумевается оскорбление, но если у вас возникли проблемы с тем, чтобы это работало, это неправильный подход, по крайней мере, не на сервере, который вам небезразличен.

Если вы используете RedHat, CentOS, Fedora или любой другой дистрибутив, который использует пакеты .rpm, попробуйте запустить sudo yum update. Если вы используете debian, ubuntu, mint или любой другой дистрибутив, который использует пакеты .deb,попробуйте запустить sudo apt-get update; sudo apt-get dist-upgrade '. Если вам здесь нужна дополнительная помощь, попробуйте поискать в Google, как обновить свой дистрибутив - куча людей публикует статьи о том, как обновить различные дистрибутивы Linux для GHOST, Heartbleed или poodle, так что в одном из них есть инструкции, которые вы можете использовать.

0
ответ дан 5 December 2019 в 19:53

Теги

Похожие вопросы