DotNetCore系列:解決NET Core項目運行在docker上出現"ssl

前面在將公司的.NET Core項目升級為3.1之後,在開發和測試環境都是能夠正常運行的。

但是非常不幸,在進行生產的docker啟動之後,出現了一個數據庫連接的異常。

<code>ssl_choose_client_version:unsupported protocol/<code>

一開始以為是數據庫的連接字符串配置有誤或者是項目的服務器因為網絡原因連接數據庫失敗,後來經過排查都是沒有問題。

仔細分析異常信息,提示說ssl的問題,我就在開發環境的服務器上查看OpenSSL的版本,再對比生產服務器上的OpenSSL的版本,終於讓我發現問題:

<code>> 開發環境的openssl:1.2.1
> 生產環境的openssl:1.0.1/<code>

最後為了能夠兼容生產環境中的低版本,我就在生成鏡像的Dockerfile中添加

<code>> RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf/<code>

然後重新創建鏡像並在服務器上啟動,這時候就能正常連接到MSSQL了。


分享到:


相關文章: