版本冲突导致-uwsgi-mycli-的问题解决-nginx-openssl

教程大全 2026-01-21 22:13:30 浏览

问题

CentOS 7 默认安装的依赖 openssl 版本为 v1.0.2k (需要手动安装最新版 nginx v1.20.2,支持openssl v1.0.2+)

uwsgi 默认依赖的 openssl 版本为 v1.1.1

mycli (cryptography,这个库在 paramiko 里面用到) 支持的 openssl 版本为 v1.1.0, v1.1.1

所以 openssl 的版本问题会造成上述软件冲突。

解决方法:

1) 手动安装 openssl v1.1.1

下载安装包,编译安装,

$ tar --gzip -xf openssl-1.1.1.tar.gz$ cd openssl-1.1.1$ ./config$ make$ sudo make install

创建 openssl 的系统软链接,

$sudo ln-fs/usr/local/lib64/libssl.1.1 USRLIB64LIBSSL.so.1.1$sudo ln-fs/usr/local/lib64/libcrypto。1.1 usrlib64libcrypto.so.1.1

2) 手动安装 nginx

fromdownload/nginx-1,20contrary.tar.gz 下载最新稳定版的 nginx,编译安装,

$ tar --gzip -xf nginx-1.20.2.tar.gz$ cd nginx-1.20.2$ ./configure$ make$ sudo make install# 如果要删除这个安装版本,则先进入此文件夹,然后运行$ sudo make uninstall

安装完成后,默认进行安装技术路径在 /usr/local/nginx/sbin/nginx,默认配置文件路径在 /usr/local/nginx/conf。

创建并编辑 nginx 的开机启动文件 /lib/systemd/system/nginx.service,内容为:

[Unit]and reverse proxy serverAfter=syslog。Target Network.-online.The target is remote FS.Target NSS - lookup.targetWANts=network-online.target[Service]Type=forkingPIDFile=/run/nginx.pidExecStartPre=/usr/sbin/nginx -tExecStart=/usr/sbin/nginxExecReload=/usr/sbin/nginx-s reloadExecstop =/bin/kill-s quit $mainpidPrivateTmp=true[Install]WantedBy=multi-user.target

因为上述文件 nginx 可执行程序为 /usr/sbin/nginx,所以需要创建软链接如下,

$sudo ln-fs/usr/local/nginx/sbin/nginx/usr/sbin/nginx

缺省的 nginx 配置文件路径是/etc/nginx/nginx。conf,但手动安装的配置文件路径为 /usr/local/nginx/conf,所以需要将 nginx.conf 拷贝到此路径下。

设置 nginx 的开机启动 ,

$sudo systemctl enables nginx.service

重启电脑。

以上就是关于“openssl 版本冲突导致 nginx, uwsgi, mycli 的问题解决”的相关解答,若有不清楚的可以咨询酷番云,酷番云作为云南为数不错持有ICP/ISP/IDC等资质专业云计算提供商之一,成本控制良好,性价比高!提供各类云服务器产品及ICP备案一站式服务,操作简单快捷,7*24小时不间断售后运维技术支持,专业备案团队全力支持。

云服务器ECS地址:


微信小程序必须是https,该怎么选择ssl证书?

根据SSL证书类型选择 SSL证书(域名验证型):只验证域名所有权,适合个人网站、博客等站点使用; SSL证书(企业验证型):验证网站所属单位身份,适合企业级用户使用; SSL证书(扩展验证型):扩展验证网站所属单位身份,适合高度信任的企业级用户使用。 如果开发的小程序涉及金融、网银、电商等安全信任级别较高的应用,推荐使用多个品牌的国际EV SSL证书,包括Comodo、Symantec、GeoTrust、GlobalSign。 解决方法:可以在ssldun选择适合小程序的证书

linux下使用openssl检测PE文件数字签名的证书是否有效

的问题解决

windows在判断证书是否有效时不检测证书的有效期, 即使该证书超过有效期好几年了, 只要没有被吊销, 微软仍然认为它是有效的. 但在 openssl 提供的 X509_verify_cert 函数会验证证书的有效期, 因此需要注释掉验证有效期的那部分代码并重新编译 , 从 openssl 官网 上下载最新的版本, 好吧, 现在还是刚刚修复 Heartbleed 漏洞的 1.0.1g 版本...下载, 解压, 看下 INSTALL 文档, 先试试可以编译不:./configmake运气不错, 不用安装什么依赖直接编译成功. 将代码根目录产生的 libcrypto.a 添加到项目中测试下, OK, 可以使用, 下面开始折腾了~在 crypto/x509/x509_vfy.c 的 153 行找到 X509_verify_cert 函数(在线查看), 局部变量 ok 缓存每一步验证是否通过, 它依次调用了:check_issuedcheck_chain_extensionscheck_name_constraintscheck_trustcheck_revocationinternal_verifycheck_policy其中 internal_verify (在线查看)验证了证书的有效期, 进入这个函数, 在 1654 行找到这个代码:ok = check_cert_time(ctx, xs);if (!ok)goto end;看看 check_cert_time 函数, 确认是检查 notBefore 和 notAfter, 因此将上面三行代码注释掉, 验证证书时就不会检测有效期了.然后就是重新编译 openssl, 将 libcrypto.a 集成到项目里了~

如何在阿里云Centos7服务器下安装部署Nginx+PHP+Mysql+PHP扩展

1、典型的LNMP安装问题2、首先你得准备编译环境yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers bison lynx3、下载所需MySQL/nginx/php等安装包4、安装nginx和mysql没有先后顺序5、安装php依赖包,安装php,安装php扩展及优化包6、详细的安装步骤可以网上查LNMP安装步骤

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐