From e9439541c3c817331c3746ed142ce37b18c9746e Mon Sep 17 00:00:00 2001
From: xljiulang <366193849@qq.com>
Date: Sun, 18 Jul 2021 02:49:17 +0800
Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B9=B3=E5=8F=B0=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E5=AE=89=E8=A3=85=E8=AF=81=E4=B9=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../KestrelServerOptionsExtensions.cs | 26 ++++++++-----------
.../ReverseProxyMiddleware.cs | 19 +++++++-------
2 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs b/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs
index 968eb95..0b49500 100644
--- a/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs
+++ b/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs
@@ -64,25 +64,21 @@ namespace FastGithub
///
private static void TryInstallCaCert(string caPublicCerPath, ILogger logger)
{
- if (OperatingSystem.IsWindows())
+ try
{
- try
+ var caCert = new X509Certificate2(caPublicCerPath);
+ using var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
+ store.Open(OpenFlags.ReadWrite);
+ if (store.Certificates.Find(X509FindType.FindByThumbprint, caCert.Thumbprint, true).Count == 0)
{
- var caCert = new X509Certificate2(caPublicCerPath);
- using var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
- store.Open(OpenFlags.ReadWrite);
- if (store.Certificates.Find(X509FindType.FindByThumbprint, caCert.Thumbprint, true).Count == 0)
- {
- store.Add(caCert);
- store.Close();
- }
- }
- catch (Exception)
- {
- logger.LogWarning($"安装根证书{caPublicCerPath}失败:请手动安装到“将所有的证书都放入下载存储”\\“受信任的根证书颁发机构”");
+ store.Add(caCert);
+ store.Close();
}
}
+ catch (Exception)
+ {
+ logger.LogWarning($"安装根证书{caPublicCerPath}失败:请手动安装到“将所有的证书都放入下载存储”\\“受信任的根证书颁发机构”");
+ }
}
-
}
}
diff --git a/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs b/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
index 467c28a..5ab27ec 100644
--- a/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
+++ b/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
@@ -47,18 +47,19 @@ namespace FastGithub.ReverseProxy
error = ForwarderError.NoAvailableDestinations.ToString(),
message = $"不支持https反向代理{host}这个域名"
});
- return;
}
+ else
+ {
+ var destinationPrefix = GetDestinationPrefix(host, domainConfig.Destination);
+ var requestConfig = new ForwarderRequestConfig { Timeout = domainConfig.Timeout };
- var destinationPrefix = GetDestinationPrefix(host, domainConfig.Destination);
- var requestConfig = new ForwarderRequestConfig { Timeout = domainConfig.Timeout };
+ var httpClient = domainConfig.TlsSni
+ ? new HttpMessageInvoker(this.sniHttpClientHanlder, disposeHandler: false)
+ : new HttpMessageInvoker(this.noSniHttpClientHanlder, disposeHandler: false);
- var httpClient = domainConfig.TlsSni
- ? new HttpMessageInvoker(this.sniHttpClientHanlder, disposeHandler: false)
- : new HttpMessageInvoker(this.noSniHttpClientHanlder, disposeHandler: false);
-
- var error = await httpForwarder.SendAsync(context, destinationPrefix, httpClient, requestConfig);
- await ResponseErrorAsync(context, error);
+ var error = await httpForwarder.SendAsync(context, destinationPrefix, httpClient, requestConfig);
+ await ResponseErrorAsync(context, error);
+ }
}
///