[英]Unable to connect SQLServer inside docker container
我正在創建一個容器,它有一個 .net 核心應用程序,基於官方的 microsoft 圖像。
當應用程序嘗試連接到 SQL 服務器時,我收到以下錯誤,它只發生在容器內:與服務器成功建立連接,但在登錄前握手期間發生錯誤。 (提供者:SSL 提供者,錯誤:31 - 加密(ssl/tls)握手失敗)
我的應用程序使用以下包與 sqlserver 通信:
我的連接字符串如下所示:
Data Source=xxx.xxx.xxx.xxx;Initial Catalog=XXXXXXXX;User ID=XXXXX;Password=XXXX;MultipleActiveResultSets=True;Connect Timeout=60;TrustServerCertificate=true
我的 docker 版本是當時可用的最新版本:“Docker 版本 20.10.2,構建 2291f61”在 windows 上運行,這就是我創建 docher 映像的方式:
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build-env
WORKDIR /prj
COPY . .
RUN dotnet publish myapp.csproj -o /app
FROM mcr.microsoft.com/dotnet/aspnet:3.1
WORKDIR /app
RUN update-ca-certificates --fresh
COPY --from=build-env /app .
ENTRYPOINT ["dotnet", "myapp.dll"]
我已經在谷歌上搜索了一段時間,但沒有找到適合我的解決方案,有人可以幫忙嗎?
此錯誤通常發生在客戶端環境中,例如 docker 映像容器、Unix 客戶端或 Windows 客戶端,其中 TLS 1.2 是支持的最低 TLS 協議。
在 docker 映像/客戶端環境中配置 TLS/SSL 設置以連接 TLS 1.0。
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.