如何从源安装nginx;:出现SSL_OP_MSIE_SSLV2_RSA_PADDING错误

时间:2014-06-04 00:55:33

标签: linux nginx openssl debian

当我尝试使用许多教程(Debian)安装nginx / rtmp时,我得到了

我跟着: http://www.leaseweblabs.com/2013/11/streaming-video-demand-nginx-rtmp-module/http://blog.hemp-society.de/2013/08/nginx-rtmp-installation.html

所有人都得到了同样的错误:

我尝试了这两种配置:

  

./ configure --add-module = / root / nginx / nginx-rtmp-module /   --with-http_ssl_module --prefix = / usr / local / nginx-streaming /

./configure --add-module=../nginx-rtmp-module-master

〜/ nginx / nginx-1.4.3#make

make -f objs / Makefile make [1]:inrant danslerépertoire«/root/nginx/nginx-1.4.3» cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I / root / nginx / nginx-rtmp-module / -I src / core -I src / event -I src / event / modules -I src / os / unix -I objs \                 -o objs / src / event / ngx_event_openssl.o \                 SRC /事件/ ngx_event_openssl.c src / event / ngx_event_openssl.c:在函数ngx_ssl_create中: src / event / ngx_event_openssl.c:189:5:错误:âSSL_OP_MSIE_SSLV2_RSA_PADDINGâdeclaclared(首次在此函数中使用) src / event / ngx_event_openssl.c:189:5:注意:每个未声明的标识符仅针对它出现的每个函数报告一次 make [1]: * [objs / src / event / ngx_event_openssl.o] Erreur 1 make [1]:quittantlerépertoire«/root/nginx/nginx-1.4.3» make:* [build] Erreur 2

看起来问题是openssl。

 make install

make -f objs / Makefile安装 make [1]:inrant danslerépertoire«/root/nginx/nginx-1.4.3» cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I / root / nginx / nginx-rtmp-module / -I src / core -I src / event -I src / event / modules -I src / os / unix -I objs \                 -o objs / src / event / ngx_event_openssl.o \                 SRC /事件/ ngx_event_openssl.c src / event / ngx_event_openssl.c:在函数ângx_ssl_create中: src / event / ngx_event_openssl.c:189:5:错误:âSSL_OP_MSIE_SSLV2_RSA_PADDINGâdeclaclared(首次在此函数中使用) src / event / ngx_event_openssl.c:189:5:注意:每个未声明的标识符仅针对它出现的每个函数报告一次 make [1]: * [objs / src / event / ngx_event_openssl.o] Erreur 1 make [1]:quittantlerépertoire«/root/nginx/nginx-1.4.3» make:* [install] Erreur 2

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

  

有人可以帮助我吗?

您是否安装了openssl-dev?在Debian和朋友上,您需要安装libssl-dev。在Fedora和朋友上,您需要安装openssl-devel

或者您使用的是位于非标准目录中的OpenSSL吗?

在这两种情况下,您都需要配置--with-http_ssl_module

如果OpenSSL位于非标准位置,您还需要使用nginx' s -I--with-cc-opt提供OpenSSL标头的路径;以及-L-l使用nginx' s --with-ld-opt的图书馆。

查看项目Building nginx from Sources


修改:如果您使用的是OpenSSL 1.0.2或更高版本,请参阅OpenSSL Bug 3208:Planned removal of SSL_OP_MSIE_SSLV2_RSA_PADDING breaks dependent software

如果使用OpenSSL 1.0.2或更高版本,您可以尝试在ngx_event_openssl.c中添加以下内容:

#ifndef SSL_OP_MSIE_SSLV2_RSA_PADDING
# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0
#endif

实质上,它将定义变为无操作。

另见nginx Bug 462OpenSSL Safari Workaround (SSL_OP_SAFARI_ECDHE_ECDSA_BUG)。它试图解决Apple SecureTransport错误。