我正在使用 Nginx 和 Certbot,我已经使用 HTTPS 保护了一个域名。我想让该域名升级到 TLS 1.3。
我的域名的 Nginx 服务器块从 Certbot 创建的包含文件中获取其 SSL 协议。
该文件/etc/letsencrypt/options-ssl-nginx.conf
指出,如果我修改该文件,Certbot 将无法自动提供安全更新。
我想通过添加到末尾来修改文件的ssl_protocols
行TLSv1.3
,但我不想破坏 certbot 的自动更新。
是否可以告诉 certbot 启用 TLS 1.3?
软件版本
- Nginx 1.14.0
- OpenSSL 1.1.1
- Certbot 0.31.0
- Ubuntu 18.04
答案1
如果您安装了 Certbot 的更新版本,则默认情况下将启用 TLS 1.3,Snap 是安装 Certbot 的最佳方式(更多说明请参见此处:https://certbot.eff.org/)。
#This instructions works for Ubuntu 18.04 and Ubuntu 20.04
#first we need to be sure there is not another certbot installed
sudo apt-get remove certbot -y < /dev/null
#install Certbot by Snap packaging
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
稍后根据需要运行 Certbot
sudo certbot --nginx -d yourdomain.com --agree-tos -m [email protected] --redirect
或者
sudo certbot certonly --nginx -d yourdomain.com --agree-tos -m [email protected] --redirect
或者
sudo certbot certonly --webroot -w /var/www/yourdomain.com/public_html -d yourdomain.com
答案2
Nginx/Ubuntu 在 SSL 库级别不支持 TLSv1.3。因此,您需要重建整个 SSL 堆栈并从源代码编译所有内容。Ubuntu 18.04 附带 OpenSSL 1.1.0。替换系统 OpenSSL 库不是一个好主意,但您可以下载 OpenSSL 1.1.1 源代码并使用 OpenSSL 1.1.1 源代码编译 Nginx 以启用 TLS 1.3。
https://github.com/certbot/certbot/issues/6367#issuecomment-601937964 当 nginx 和 openssl 支持最新版本的 tls1.3 时,Certbot 也支持该版本