Skip to content
FreeSql 官方文档FreeSql 官方文档
指南
扩展
服务支持
github icon
    • 基于FreeSql扩展
      • 多个 IFreeSql实例,如何注入使用
        • 技巧:ISelect 如何拷贝(copy)复用,克隆(clone)
          • Docker+ FreeSql
            • .net5+Docker+ Encryption(ssl/tls) handshake failed
              • 环境
                • 使用原生方式进行测试
                  • 报错
                    • 最终解决方案
                    • 原文链接
                    • FreeSql 如何实现审计日志
                      • Mysql 5.5 兼容性
                        • In多列查询,表达式自定义实现
                          • 技巧:自定义解析表达式树,实现动态聚合列 sum(case when ...)

                          Docker+ FreeSql

                          author iconnicyecalendar icon2022年6月25日timer icon小于 1 分钟word icon约 236 字

                          此页内容
                          • .net5+Docker+ Encryption(ssl/tls) handshake failed
                            • 环境
                            • 使用原生方式进行测试
                            • 报错
                            • 最终解决方案
                          • 原文链接

                          # Docker+ FreeSql

                          # .net5+Docker+ Encryption(ssl/tls) handshake failed

                          .net5 网站使用Sqlserver数据库部署在docker容器内运行报主库链接失败

                          # 环境

                          数据库:Sqlserver2014 网站程序:.Net5 Docker版本:Docker version 19.03.13, .net5环境镜像源:mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim Centos版本:CentOS Linux release 7.9.2009 (Core)

                          # 使用原生方式进行测试

                          using (SqlConnection connection = new SqlConnection("Data Source=xxxxx;User Id=sa;Password=xxxxxx;Initial Catalog=xxxxxxxx;Pooling=true;Min Pool Size=1;"))
                          {
                              connection.Open();
                              connection.Close();
                              connection.Dispose();
                          }
                          
                          1
                          2
                          3
                          4
                          5
                          6

                          # 报错

                          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)

                          # 最终解决方案

                          在dockerfile里面加上这么两句

                          RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf
                          RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /usr/lib/ssl/openssl.cnf
                          
                          1
                          2

                          将TLSv1.2设为TLSv1,只能是设为TLSv1而不是设为TLSv1.0

                          # 原文链接

                          • .net5 网站使用Sqlserver数据库部署在docker容器内运行报主库链接失败 · Issue #650 · dotnetcore/FreeSql (github.com)open in new window
                          edit icon在 GitHub 上编辑此页open in new window
                          上次编辑于: 2022/6/25 上午12:45:08
                          贡献者: igeekfan
                          上一页
                          技巧:ISelect 如何拷贝(copy)复用,克隆(clone)
                          下一页
                          FreeSql 如何实现审计日志
                          Copyright © 2018-present nicye
                          Copyright © 2022 nicye

                          该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。

                          详情