nginx./настраивать не может найти openssl

Я использовал "DIA" и "UMBRELLO", оба прекрасных, но не как Visio.

5
11.03.2011, 03:47
8 ответов

Рабочая "конфетка устанавливает openssl-devel", кажется партией, легче, чем переключение на человечность.

Имел ту же проблему как OP. У меня был установленный openssl, но nginx мог найти его, когда compil, но указатель на libssl-devel помог мне

1
27.01.2020, 20:35

Я не могу вполне вспомнить точно, чем проблема была здесь, но я предполагаю что символьная ссылка на/usr/local/ssl (или openssl?) к тому, везде, где openssl на самом деле находится, решил бы проблему. У меня не было проблем при установке nginx с поддержкой SSL в Ubuntu 10.04 с OpenSSL по умолчанию. Таким образом, я рекомендовал бы любому изо всех сил пытающемуся с этим испытать это.

Кроме того, Вам, вероятно, нужны корректные dev установленные пакеты. Вот что я обычно устанавливающий до установки nginx..

2  apt-get update
3  apt-get install gcc
4  apt-get install g++
5  wget http://www.python.org/ftp/python/2.7/Python-2.7.tgz
6  wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz
7  wget http://zlib.net/zlib-1.2.5.tar.gz
8  ls
9  gzip -d pcre-8.12.tar.gz 
10  gzip -d zlib-1.2.5.tar.gz 
11  gzip -d Python-2.7.tgz 
12  tar -xvf zlib-1.2.5.tar 
13  cd zlib-1.2.5
14  ./configure 
15  make
16  ls
17  Makefile
18  ls
19  ./configure 
20  make
21  sudo apt-get install build-essential
22  make
23  make install
24  cd ..
25  ls
26  tar -xvf pcre-8.12.tar 
27  cd pcre-8.12
28  ./configure --prefix=/usr --enable-unicode-properties
29  make
30  make install
31  cd ..
32  ls
33  tar -xvf Python-2.7.tar 
34  apt-get install openssl
35  cd Python-2.7
36  apt-get install libssl-dev
37  apt-get install libperl-dev
38  ./configure --help
39  ./configure --enable-ipv6
40  make
41  make install
1
27.01.2020, 20:35

заголовками openssl обычно предоставляют libssl-dev на Ubuntu. Существует также a --with-openssl=DIR ./configure опция для nginx, который позволяет Вам вручную указать путь к openssl источникам. Какая-либо причина, почему Вы создаете его из источника вместо того, чтобы использовать Ваш диспетчер пакетов?

0
27.01.2020, 20:35
  • 1
    не являются последними версиями. Я обновил бы все сам. Я работаю на CentOS 5.5 все же. Я использую - with-openssl=DIR опция, но она ищет файлы в моем пути openssl, которые не существуют. –   11.03.2011, 04:03
  • 2
    Вам будет нужен libssl-devel на CentOS. –   11.03.2011, 04:04
  • 3
    Пакет называют по-другому, чем это на CentOS.. Я закончил тем, что переключился на Ubuntu и получил все работа. Спасибо за справку все же. –   13.03.2011, 10:25
  • 4
    В текущей Ubuntu команда ./configure --with-openssl=/usr/include/openssl/ –  Nathan V 21.09.2015, 22:48

Это может также произойти когда Ваш nginx configure относительные пути использования. Это находит библиотеки намного более надежно если полные пути от / используются вместо этого.

Не работает: ./configure --with-openssl=../openssl-source

Работы: ./configure --with-openssl=/home/build/src/openssl-source

5
27.01.2020, 20:35
  • 1
    Большой, обработанный для меня. Я использовал ~/src/openssl-1.0.1, и он перестал работать. Используя/home/me/src/openssl-1.0.1 фиксированный это. –  jaygooby 27.06.2014, 13:44

Для Zlib

распакуйте tar-файл zlib и затем настройте его

Путь - /opt/app/workload/nginx-test/nginx-1.8.0/zlib/zlib-1.2.8

./configure --prefix=/opt/app/workload/nginx-test/nginx-1.8.0/zlib/zlib-1.2.8
make
make install

Для PCRE

Untar файл PCRE, затем настройте его

Путь - /opt/app/workload/nginx-test/nginx-1.8.0/pcre/pcre-8.36

./configure --prefix=/opt/app/workload/nginx-test/nginx-1.8.0/pcre/pcre-8.36

make
make install

Просто распакуйте файл нет необходимости настраивать его, Nginx будет использовать его самостоятельно

для openssl

Путь - /opt/app/workload/nginx-test/nginx-1.8.0/openssl-1.0.1l


Для Nginx

./configure --prefix=/opt/app/workload/nginx-test/nginx-1.8.0/nginx --with-pcre=/opt/app/workload/nginx-test/nginx-1.8.0/pcre/pcre-8.36 --with-zlib=/opt/app/workload/nginx-test/nginx-1.8.0/zlib/zlib-1.2.8 --with-http_ssl_module --with-openssl=/opt/app/workload/nginx-test/nginx-1.8.0/openssl-1.0.1l
0
27.01.2020, 20:35
./configure —with-cc-opt="-I/usr/local/opt/openssl/include" --with-ld-opt="-L/usr/local/opt/openssl/lib"
4
27.01.2020, 20:35

--с -openssl=путь задает путь к библиотеке OpenSSL sources .

путь является исходным кодом openssl, а не make installкаталогом

mac:nginx-1.17.3 qidizi$ ls../openssl-OpenSSL_1_1_1c/.
./       ../      .cfg.sh  .openssl/ 

pcre или zlib — одно и то же;

0
27.01.2020, 20:35

В моем случае проблема заключалась в том, что я пытался передать --prefixи --openssldirв nginx --with-openssl-optвариант:

RUN./configure --prefix=/usr/local/nginx \
                --sbin-path=/usr/local/nginx/nginx \
                --conf-path=/usr/local/nginx/nginx.conf \
                --pid-path=/run/nginx.pid \
                --with-openssl=/usr/local/src/openssl-1.1.1c \
                --with-openssl-opt="--prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers" \
                --with-http_ssl_module \
                --with-stream \
                --with-mail=dynamic

Nginx ожидает, что встроенный openssl будет находиться в подпапке .opensslисходной папки openssl, в моем случае /usr/local/src/openssl-1.1.1c/.openssl. Но я передал ему prefixи openssldir, поэтому построенный openssl находился в системной папке /usr/local/ssl.

So nginx не смог найти ни заголовков openssl при предварительной обработке (objs/Makefile, искал их в /usr/local/src/openssl-1.1.1c/.openssl/include), ни libssl.a/libcrypto.aпозже при компоновке(objs/Makefileожидал их в/usr/local/src/openssl-1.1.1c/.openssl/lib).

Я просто удалил опции prefixи openssldir, и сборка у меня заработала:

RUN./configure --prefix=/usr/local/nginx \
                --sbin-path=/usr/local/nginx/nginx \
                --conf-path=/usr/local/nginx/nginx.conf \
                --pid-path=/run/nginx.pid \
                --with-openssl=/usr/local/src/openssl-1.1.1c \
                --with-openssl-opt="shared zlib enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers" \
                --with-http_ssl_module \
                --with-stream \
                --with-mail=dynamic
0
27.01.2020, 20:35

Теги

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