docker 报错but then an error occurred during the pre-login handshake. (provider: TCP Provider, error:

文章讲述了在.NETCore3.1和更高版本与SQLServer通信时遇到的SSL握手问题,涉及不同版本的TLS和SECLEVEL设置。解决方法包括降低安全级别、调整CipherString和MinProtocol配置。

.netcore3.1连接sqlserver数据库时出现类似:A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught),这样的一段错误信息。原因都非常简单,是因为“在数据库登录验证阶段使用了 SSL,导致身份验证不通过。允许的 ssl 最低版本和 SQL Server 数据库版不匹配”在当时的情况下,只需要修改容器环境的(/etc/ssl/openssl.cnf)文件中,安全级别对最低协议版本的要求即可,将MinProtocol=TLSv1.2,改为MinProtocol=TLSV1.0即可,重启容器后,该种问题确实得到了解决。但是,在进行使用.net5及以上部署的项目中,同样的问题,采用同样的处理方法,问题依然存在。在经过上面的调整后,出现了下面的错误:

 A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed)
又是TCP握手时发生错误,协议配置仍有问题。
解决这样的问题,问题的根本原因, 还是.net5不支持CipherString = DEFAULT@SECLEVEL=2的配置
SECLEVEL=2不行,改成1吧,于是将CipherString = DEFAULT@SECLEVEL=1。改完后,重启容器再试,问题依然存在。
后来研究发现,MinProtocol = TLSv1.0 这个配置中TLSv1.0有些问题,于是我将TLSv1.0 改成了TLSv1,.0不要了,重启容器再试,可以了。
<think>好的,用户遇到了Jenkins安装插件时报错“No such plugin: cloudbees-folder”,需要解决方案。首先,我需要回忆之前的引用内容。引用[1]中提到,下载cloudbees-folder.jpi放到jenkins/WEB-INF/detached-plugins目录,然后重启Jenkins。引用[2]则提到通过Docker运行Jenkins时挂载目录的问题。可能用户是在Windows或Docker环境下安装,需要针对不同情况给出步骤。 接下来,考虑用户可能的操作环境。如果是直接安装的Jenkins,可能需要手动下载插件;如果是Docker,可能需要检查卷挂载是否正确。另外,用户可能没有正确配置插件更新站点,导致无法在线下载插件。因此,解决方案应包括手动下载安装、检查更新站点、以及Docker环境的特别处理。 需要分步骤说明,确保用户能够逐步操作。同时,提醒用户检查网络或代理设置,因为有时候无法访问插件库也会导致此类问题。最后,生成相关问题,帮助用户进一步排查可能出现的问题,比如其他插件缺失或启动失败的情况。</think>### Jenkins插件安装错误"cloudbees-folder"解决方案 根据报错信息和引用内容[^1][^2],该问题主要由插件仓库连接异常或插件文件缺失导致,可通过以下步骤解决: #### 方法1:手动安装插件(推荐) 1. **下载插件文件** - 访问插件仓库地址:$http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/$ 选择最新版本(如6.15.v20200415-3323)下载.jpi文件 2. **部署插件文件** ```bash # Windows安装路径示例 C:\Program Files\Jenkins\WEB-INF\detached-plugins # Linux/Docker安装路径示例 /var/jenkins_home/WEB-INF/detached-plugins ``` 将$cloudbees-folder.jpi$放入上述目录 3. **重启Jenkins服务** ```bash # Windows Jenkins.exe restart # Docker容器 docker restart jenkins ``` #### 方法2:检查更新中心配置(需网络连通) 1. 修改$hudson.model.UpdateCenter.xml$ ```xml <url>https://updates.jenkins.io/update-center.json</url> ``` 2. 通过Docker启动时指定镜像源: ```bash docker run -e JENKINS_UC=https://mirrors.tuna.tsinghua.edu.cn/jenkins -d -p 8080:8080 jenkins/jenkins ``` #### 方法3:容器环境特殊处理 若使用Docker部署[^2]: 1. 检查卷挂载权限: ```bash chown -R 1000:1000 /var/jenkins_home ``` 2. 推荐使用官方镜像的LTS版本: ```bash docker pull jenkins/jenkins:lts ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值