在 Linux 上,OpenSSL 本身不需要“启用 TLS”,而是在使用 OpenSSL 的程序或命令中指定 TLS 协议。下面分几种常见场景说明。
openssl version -a
查看输出中是否包含 TLS 字样,或查看支持的协议:
openssl s_client -help 2>&1 | grep -i tls
✅ 现代 Linux(CentOS 7+/Ubuntu 18.04+)默认支持 TLS 1.2 / TLS 1.3
openssl s_client -connect example.com:443 -tls1_2
或 TLS 1.3:
openssl s_client -connect example.com:443 -tls1_3
不加版本时,OpenSSL 会自动协商最高可用 TLS 版本。
openssl req -x509 -newkey rsa:2048 \
-keyout server.key -out server.crt \
-days 365 -nodes
openssl s_server \
-cert server.crt \
-key server.key \
-accept 8443 \
-tls1_2
✅ 这里
-tls1_2表示启用 TLS 1.2
openssl ciphers -v | grep TLS
server {
listen 443 ssl;
server_name example.com;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
✅ 重启 Nginx 后生效
SSL_CTX *ctx = SSL_CTX_new(TLS_client_method());
或指定版本:
SSL_CTX_new(TLSv1_2_client_method());
❌ 不要启用:
✅ 推荐:
yum install openssl
# 或
apt install openssl
openssl s_client -tls1_3 -connect host:443
OpenSSL 默认支持 TLS,只需要在命令或配置中指定 TLS 版本即可。
如果你有具体场景(如:
✅ HTTPS 服务
✅ 邮件 TLS
✅ 自签名证书
✅ Docker / Kubernetes
✅ 程序调用 OpenSSL)
可以告诉我,我可以给你精确到配置文件的示例。