之前装nginx的时候没选择ssl配置,现在想给网站加个ssl协议,编译nginx 的时候,报openssl的错
src/event/ngx_event_openssl.c:1941:21: note: each undeclared identifier is reported only once for each function it appears in objs/Makefile:809: recipe for target 'objs/src/event/ngx_event_openssl.o' failed make[1]: *** [objs/src/event/ngx_event_openssl.o] Error 1 make[1]: Leaving directory '/home/ubuntu/software/nginx-1.9.15' 网上找了很多办法,有换openssl版本的,但是没说换哪个版本,有改openssl配置的,全都没有用😨,也没有人知道解决办法啊
这个错误是因为在编译Nginx的时候,没有将OpenSSL库链接到Nginx中。需要检查是否正确安装了OpenSSL库,并指定正确的路径。以下是一些可以尝试的解决方案:
openssl version
如果没有输出,或者版本号低于预期的版本,需要安装较新版本的OpenSSL。
在编译Nginx时指定正确的OpenSSL库路径。例如,如果你的OpenSSL库安装在/usr/local/openssl目录中,可以使用以下命令编译Nginx:
./configure --with-openssl=/usr/local/openssl
如果还出现问题,可以尝试手动指定OpenSSL头文件和库文件的路径,例如:
./configure --with-ld-opt="-L/usr/local/openssl/lib" --with-cpp="/usr/bin/cpp" --with-cc-opt="-I/usr/local/openssl/include"
这将指定OpenSSL库和头文件的路径,以供Nginx编译使用。
根据您提供的信息,您在编译nginx时遇到了openssl相关的错误。这个问题可能是由于您的openssl版本与nginx不兼容,或者您的openssl配置有问题导致的。
您可以尝试升级或降级您的openssl版本,以解决这个问题。您也可以检查您的openssl配置,确保它与nginx兼容。如果您不确定应该使用哪个版本的openssl,您可以查看nginx的官方文档,了解它支持的openssl版本。
如果您尝试了上述方法仍然无法解决问题,您可以在nginx的官方社区或技术论坛上寻求帮助。希望我的回答能够帮助您解决问题。😊
出错是因为Nginx在编译时并不能在/usr/local/ssl/.openssl/ 这个目录找到对应的文件
SSL英文名为Secure Socket Layer,安全套接字层。SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输. 配置SSL模块首先需要CA证书,CA证书可以自己手动颁发也可以在阿里云申请,默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。