1. 使用环境变量
你可以通过设置环境变量来指示.NET运行时忽略SSL验证错误。
PowerShell
export DOTNET_SYSTEM_NET_HTTP_INSECURECONNECTIONVALIDATION=0
然后运行你的.NET 应用程序。这将使.NET HttpClient在处理HTTPS请求时不会验证服务器的证书。
2. 配置HttpClientHandler
创建一个HttpClientHandler实例,并设置其ServerCertificateCustomValidationCallback属性,使其接受任何证书,从而跳过SSL验证
C#
static void Main()
{
var handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
var client = new HttpClient(handler);
// 现在,client将不会验证服务器证书
}
3. 配置Kestrel服务器
跳过Kestrel服务器的SSL验证
可以在appsettings.json或appsettings.Development.json中配置Kestrel
C#
"AllowInvalidCertificates": true,
"AllowInvalidHostnames": true