技术解析

请问 debian 9 有无第三方源可以 apt 安装新版 openssl 的?
0
2021-06-19 00:38:41
idczone
如题,openssl 有无类似 nginx 那种可以通过第三方源安装,我自己编译总是出错。openvz vps 因为无法升级内核无法升级到 debian 10。
openssl 1.1.1 + nginx 编译报错? 上次碰到了,网上博客过时了,所以编译的时候会报 openssl 某个 so 找不到....

把编译错误贴上来 看看?

看看有没有 debian-backport。
本地编译一个传上去。
直接用 debian 10 的包。

https://packages.sury.org/php/pool/main/o/openssl/ 。

顺便问问为什么要编译新版的 OpenSSL。

想升级个人网站支持 tls1.3,反正个人用,直接只用 tls1.3

这个怎么用啊?个人比较小白,我看到 sury.org 源也是可以装最新 nginx 的。
wget -O /etc/apt/trusted.gpg.d/nginx-mainline.gpg https://packages.sury.org/nginx-mainline/apt.gpg
cat >> /etc/apt/sources.list.d/nginx.list << EOF
deb https://packages.sury.org/nginx-mainline/ $(lsb_release -sc) main
EOF
apt update
apt install -y nginx-extras

sb nginx 请
https://mirrors.xtom.com/sb/nginx/

这个安装 nginx 直接安装新版 openssl 吗?

不会. 但这个版本已经继承了一些常用模块. 也基本够你用了.
π ~ ❯ nginx -V
nginx version: nginx/1.17.1
built with OpenSSL 1.1.1c 28 May 2019
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --with-openssl=/build/nginx/../openssl --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_secure_link_module --with-http_sub_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --add-dynamic-module=/build/nginx/sb-modules/ngx_http_geoip2_module --add-module=/build/nginx/sb-modules/ngx_brotli --add-dynamic-module=/build/nginx/debian/modules/http-headers-more-filter --add-dynamic-module=/build/nginx/debian/modules/http-auth-pam --add-dynamic-module=/build/nginx/debian/modules/http-cache-purge --add-dynamic-module=/build/nginx/debian/modules/http-dav-ext --add-dynamic-module=/build/nginx/debian/modules/http-ndk --add-dynamic-module=/build/nginx/debian/modules/http-echo --add-dynamic-module=/build/nginx/debian/modules/http-fancyindex --add-dynamic-module=/build/nginx/debian/modules/nchan --add-dynamic-module=/build/nginx/debian/modules/http-lua --add-dynamic-module=/build/nginx/debian/modules/rtmp --add-dynamic-module=/build/nginx/debian/modules/http-uploadprogress --add-dynamic-module=/build/nginx/debian/modules/http-upstream-fair --add-dynamic-module=/build/nginx/debian/modules/http-subs-filter

你如果只是要装 nginx 的话,直接装我们 sb 的 nginx 就行了。
OpenSSL 是静态编译的,新版本 nginx 发布的时候会自动打包带进最新的 OpenSSL 版本。
现在带的是 1.1.1c ,比 sury 还新一点好像。

你直接可以添加 test 源 指定安装

原来 apt 安装的时候 built with OpenSSL 1.1.1c 28 May 2019,已经编译在里面了,不需要再安装 openssl 啦,太谢谢啦!

我基本上就只用 nginx 部署一个小网站。

是的,编译在里面了,每次更新 nginx 的时候都会自动更新 OpenSSL 的。

sb 的 nginx 怎么安装?

8 楼的链接啊?

搞定了,使用的是 sb 的 nginx,确实不错。就是不知道大牛知不知道 nginx 启动 tls1.3,或者纯粹使用 TLS1.3 后,ssl_ciphers 怎么设置,想用 chacha20 算法。

ssl_ciphers TLS_CHACHA20_POLY1305_SHA256; 试试看。

TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384;
这样可能好一点,可以 fallback。



OpenSSL 1.1.1 用了一些新的 function 来设置 TLS 1.3 加密套件,导致不能通过 nginx 的 ssl_ciphers 设置。
SSL_CTX_set_cipher_list()用于设置 TLS 1.2 及以前版本的加密套件
SSL_CTX_set_ciphersuites()用于给 SSL context 设置 TLS 1.3 的加密套件
( https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_ciphersuites.html)

你需要给 Nginx 或 OpenSSL 打 patch
比如: https://github.com/Hardrain980/nginx-tls13-chacha20-patch (我撰写且正在使用的)
patch 后通过 ssl_ciphers_tls13 设置 TLS 1.3 加密套件。

sb 的 nginx 早就打上我写的补丁了。

都是大牛啊,回来改一下

sb 的 nginx 支持 ngx_http_proxy_connect_module 吗?如果不行,自己怎么加进去?

没有的,也加不进去。

ngx_http_proxy_connect_module 能加到官方源安装的 nginx 吗?怎么操作呀?

我没有研究过。

今天 sb 源好像证书出问题啦!

已督促大佬处理……

Fetched 10.2 kB in 3s (3294 B/s)
W: Failed to fetch https://mirrors.xtom.com/sb/nginx/dists/jessie/InRelease Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.

debian 8 下安装出现上述提醒。但是也能装上去

安装没有问题,nginx -t 也是没有问题,但是反代出错了,奇怪!

curl: (7) Failed to connect to mirrors.xtom.com port 443: No route to host
这个我的问题还是最近源出了故障?

大佬,sb 源不在支持 upstream 了吗?

支持的吧,你遇到什么问题了?

亲测不支持了,需要 upstream 共用 443 端口

大佬,sb 源确实不支持 upstream,官方支持。不过 sb 源支持 brotli

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服