Asp.Net Core 项目部署Centos中,httpClient 请求Https报证书错误的系列问题
2023-03-31 10:59:17 时间
异常:The SSL connection could not be established, see inner exception.
参考自 https://www.cnblogs.com/leoxjy/p/10201046.html#5095270
Centos报这个问题,Asp.NetCore 3.1
HttpClient 请求 Https 报错的SSL证书异常的问题,请使用以下方法解决。
方法一,非长久之计,有失效风险(已经测试过,晚上好好的,白天就异常)
export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0;
# 可不运行以下语句
dotnet build
方法二,应该比较稳妥一些。 通过OpenSSL
# 检查OpenSSL是否安装 如果没安装就去安装
openssl version -a
# 输出 下面一大段,最重要的是OPENSSLDIR: "/etc/pki/tls"
----
OpenSSL 1.0.2k-fips 26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
compiler: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENSSLDIR: "/etc/pki/tls"
engines: rdrand dynamic
---
# 输入
cp /etc/pki/tls/cert.pem /usr/local/openssl/
# 解决
由于赶时间在进入ssh终端后直接运行以下语句,发现Configuration读取配置项一直是未空。
IConfiguration对象已经被注入到Ioc容器中。
dotnet xxx.dll
经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。
经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。
经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。
工作目录:存放Dll运行程序的目录
假设 app.dll 存放于 /home/www/app.dll
# 正确示例
# 这个时候,Configuration配置文件才被读取到
cd /home/www
dotnet app.dll #正确,appSetting.json配置信息可读取
dotnet /home/www/app.dll #正确,appSetting.json配置信息可读取
# 错误示例 假设当前目录为 /home
cd /home
dotnet app.dll # 错误, /home/app.dll 不存在。应该是 /home/www/app.dll
dotnet /home/www/app.dll # 程序可运行,但是appSetting.json配置信息读取不到。
使用服务形式启动Asp.Net Core站点,出现异常
如果运行过export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0;
,请不要使用sudo
来启动服务
# 错误示例
sudo systemctl start app.service #异常,报HttpClient请求Https时候SSL证书错误。
# 正确示例
systemctl start app.service # 正常,程序正常启动。HttpClient请求Https成功。
The End。
相关文章
- 关于.NET玩爬虫这些事
- 为什么 .NET的反射这么慢?
- 在ASP.NET Core中使用百度在线编辑器UEditor
- MVC路由自定义及视图找寻规则
- 构建高性能ASP.NET应用的12点建议
- 你了解AJAX吗?TA不是新编程语言而是WEB应用程序技术
- 从.net转型,聊聊最近一些面试,薪资和想法
- ASP.NET 5 开发者的五个阶段​​
- 让编程更轻松的 7 个 Visual Studio 扩展
- 对 ASP.NET 异步编程的一点理解
- 推荐 7 款好用的 Visual Studio 扩展
- 给ASP.NET MVC及WebApi添加路由优先级
- 10年.NET老程序员推荐的7个开发类工具
- 19 个必须知道的 Visual Studio 快捷键
- 迄今为止最全的.NET技术栈
- .NET中删除空白字符串的10大方法
- 详细的.Net并行编程高级教程--Parallel
- 如何用.NET生成二维码?
- .net程序员工作两年总结
- .NET中删除空白字符串的10大方法