方法一,非长久之计,有失效风险(已经测试过,晚上好好的,白天就异常),接下来我们就来聊聊关于https系统发起http请求失败?以下内容大家不妨参考一二希望能帮到您!
https系统发起http请求失败
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/
# 解决
IConfiguration对象已经被注入到Ioc容器中。
dotnet xxx.dll
经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。经过研究后发现,必须要先进入Dll的工作目录运行Dll才有效。
工作目录:存放Dll运行程序的目录
假设 app.dll 存放于 /home/www/app.dll
使用服务形式启动Asp.Net Core站点,出现异常
# 正确示例 # 这个时候,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配置信息读取不到。
如果运行过export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0;,请不要使用sudo来启动服务
# 错误示例 sudo systemctl start app.service #异常,报HttpClient请求Https时候SSL证书错误。 # 正确示例 systemctl start app.service # 正常,程序正常启动。HttpClient请求Https成功。
The End。
- HttpClient 请求 Https 报错的SSL证书异常的问题,请使用以下方法解决。
- 由于赶时间在进入ssh终端后直接运行以下语句,发现Configuration读取配置项一直是未空。
- 使用服务形式启动Asp.Net Core站点,出现异常
,