Jenkins 2.414.1启用SSL遇OpenSSL版本号错误求助
确认
JAVA_ARGS配置是否生效
Ubuntu 22.04下Jenkins默认用systemd管理,直接修改/etc/default/jenkins可能不生效,先检查启动日志确认参数是否加载:journalctl -u jenkins.service | grep "https.protocols"若日志中无该参数,创建/修改
/etc/systemd/system/jenkins.service.d/override.conf:[Service] Environment="JAVA_ARGS=-Dhttps.protocols=TLSv1.2"执行以下命令重载配置并重启Jenkins:
sudo systemctl daemon-reload sudo systemctl restart jenkins排查端口不匹配问题
wrong version number错误大概率是访问了非SSL端口,Jenkins默认HTTPS端口是8443,而wget https://localhost默认访问443端口。先查看Jenkins实际监听的端口:sudo lsof -i -P -n | grep jenkins若Jenkins监听8443,改用
wget https://localhost:8443测试连接。验证SSL证书配置完整性
确保Jenkins已正确配置SSL证书和密钥,在systemd配置或/etc/default/jenkins中补充完整的SSL参数:JAVA_ARGS="-Dhttps.protocols=TLSv1.2 -Djavax.net.ssl.keyStore=/path/to/your/keystore.jks -Djavax.net.ssl.keyStorePassword=your_keystore_password"也可检查
/var/lib/jenkins/config.xml中的<httpsPort>和<keystore>节点,确认路径和端口配置无误。用OpenSSL直接测试TLS连接
指定TLSv1.2版本测试Jenkins的SSL端口:openssl s_client -connect localhost:8443 -tls1_2若连接成功,说明客户端默认TLS版本协商有问题,但已指定
https.protocols后仍报错,优先排查前面的配置加载和端口问题。检查系统OpenSSL配置
确认Ubuntu 22.04的OpenSSL 3.0.2未禁用TLSv1.2,打开/etc/ssl/openssl.cnf,查找是否有MinProtocol = TLSv1.3这类配置,若有则修改为MinProtocol = TLSv1.2,保存后重启Jenkins。
内容的提问来源于stack exchange,提问作者Mike

