我对 FreeBSD 环境还很陌生,但对 Linux 环境已经很习惯了。
我在 FreeNAS 9.3 中创建了一个 jail,并按照几个在线资源(谷歌搜索“freebsd jail nginx ssl”或类似内容)安装了支持 SSL 的 nginx 和一个 lets encrypt 证书。我知道有一个基于 FreeBSD 10 的较新版本的 FreeNAS,但我现在还不能升级。
一切运行顺利,但我的 SSLLabs 评分为 C,因为The server supports only older protocols, but not the current best TLS 1.2. Grade capped to C.
在我的 nginx 配置文件中,TLSv1.2 已启用,并且服务器重新加载没有出现错误:
[...]
server {
listen 443 ssl;
#SSL
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_dhparam /usr/local/etc/ssl/dhparam.pem;
[...]
# service nginx reload
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
有人能指出错误或可能的解决方法吗?谢谢
更新:
在@Drifter104 和@Amiramix 的善意评论之后,openssl 版本是 0.9.8za,似乎不支持 TLSv1.2
现在谜题已经解开了,我需要了解如何安装更新的 openssl,谢谢
答案1
原问题已经在评论中回答了。
OpenSSL 0.9.8za-freebsd 不支持 TLS 1.2
根据 freshports,您可以从端口选项升级 openssl(例如使用 pkg 或 portmaster)。