diff --git a/FastGithub.ReverseProxy/DomainResolver.cs b/FastGithub.ReverseProxy/DomainResolver.cs
index 448dd57..49de55e 100644
--- a/FastGithub.ReverseProxy/DomainResolver.cs
+++ b/FastGithub.ReverseProxy/DomainResolver.cs
@@ -35,6 +35,7 @@ namespace FastGithub.ReverseProxy
///
///
///
+ ///
public async Task ResolveAsync(string domain, CancellationToken cancellationToken)
{
// 缓存以避免做不必要的并发查询
@@ -53,6 +54,7 @@ namespace FastGithub.ReverseProxy
///
///
///
+ ///
private async Task LookupAsync(string domain, CancellationToken cancellationToken)
{
try
@@ -70,7 +72,7 @@ namespace FastGithub.ReverseProxy
// 如果解析到的ip为本机ip,会产生反向代理请求死循环
if (address.Equals(IPAddress.Loopback))
{
- throw new FastGithubException($"dns({dns}):解析{domain}被干扰为{address}");
+ throw new FastGithubException($"dns({dns})被污染:解析{domain}为{address}");
}
return address;
}
@@ -81,7 +83,7 @@ namespace FastGithub.ReverseProxy
catch (Exception ex)
{
var dns = this.fastGithubConfig.PureDns;
- throw new FastGithubException($"dns({dns}):{ex.Message}", ex);
+ throw new FastGithubException($"dns({dns})服务器异常:{ex.Message}", ex);
}
}
}
diff --git a/FastGithub.ReverseProxy/NoSniHttpClientHanlder.cs b/FastGithub.ReverseProxy/NoSniHttpClientHanlder.cs
index b6a1dab..7a8c898 100644
--- a/FastGithub.ReverseProxy/NoSniHttpClientHanlder.cs
+++ b/FastGithub.ReverseProxy/NoSniHttpClientHanlder.cs
@@ -13,18 +13,18 @@ namespace FastGithub.ReverseProxy
///
class NoSniHttpClientHanlder : DelegatingHandler
{
- private readonly DomainResolver trustedDomainResolver;
+ private readonly DomainResolver domainResolver;
private readonly ILogger logger;
///
/// 不发送NoSni的HttpClientHandler
///
- ///
+ ///
public NoSniHttpClientHanlder(
- DomainResolver trustedDomainResolver,
+ DomainResolver domainResolver,
ILogger logger)
{
- this.trustedDomainResolver = trustedDomainResolver;
+ this.domainResolver = domainResolver;
this.logger = logger;
this.InnerHandler = CreateNoneSniHttpHandler();
}
@@ -73,7 +73,7 @@ namespace FastGithub.ReverseProxy
var uri = request.RequestUri;
if (uri != null && uri.HostNameType == UriHostNameType.Dns)
{
- var address = await this.trustedDomainResolver.ResolveAsync(uri.Host, cancellationToken);
+ var address = await this.domainResolver.ResolveAsync(uri.Host, cancellationToken);
this.logger.LogInformation($"[{address}--NoSni->{uri.Host}]");
var builder = new UriBuilder(uri)
diff --git a/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs b/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
index 6e52e51..467c28a 100644
--- a/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
+++ b/FastGithub.ReverseProxy/ReverseProxyMiddleware.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
using System;
using System.Net.Http;
using System.Threading.Tasks;
@@ -15,17 +16,20 @@ namespace FastGithub.ReverseProxy
private readonly SniHttpClientHanlder sniHttpClientHanlder;
private readonly NoSniHttpClientHanlder noSniHttpClientHanlder;
private readonly FastGithubConfig fastGithubConfig;
+ private readonly ILogger logger;
public ReverseProxyMiddleware(
IHttpForwarder httpForwarder,
SniHttpClientHanlder sniHttpClientHanlder,
NoSniHttpClientHanlder noSniHttpClientHanlder,
- FastGithubConfig fastGithubConfig)
+ FastGithubConfig fastGithubConfig,
+ ILogger logger)
{
this.httpForwarder = httpForwarder;
this.sniHttpClientHanlder = sniHttpClientHanlder;
this.noSniHttpClientHanlder = noSniHttpClientHanlder;
this.fastGithubConfig = fastGithubConfig;
+ this.logger = logger;
}
///
@@ -63,7 +67,7 @@ namespace FastGithub.ReverseProxy
///
///
///
- private static string GetDestinationPrefix(string host, Uri? destination)
+ private string GetDestinationPrefix(string host, Uri? destination)
{
var defaultValue = $"https://{host}/";
if (destination == null)
@@ -72,7 +76,10 @@ namespace FastGithub.ReverseProxy
}
var baseUri = new Uri(defaultValue);
- return new Uri(baseUri, destination).ToString();
+ var result = new Uri(baseUri, destination).ToString();
+ this.logger.LogInformation($"[{defaultValue}->{result}]");
+
+ return result;
}
///
diff --git a/FastGithub.ReverseProxy/SniHttpClientHanlder.cs b/FastGithub.ReverseProxy/SniHttpClientHanlder.cs
index c909a5f..9893a22 100644
--- a/FastGithub.ReverseProxy/SniHttpClientHanlder.cs
+++ b/FastGithub.ReverseProxy/SniHttpClientHanlder.cs
@@ -12,7 +12,7 @@ namespace FastGithub.ReverseProxy
class SniHttpClientHanlder : DelegatingHandler
{
private readonly DomainResolver domainResolver;
- private readonly ILogger logger;
+ private readonly ILogger logger;
///
/// 携带Sni的HttpClientHandler
@@ -20,7 +20,7 @@ namespace FastGithub.ReverseProxy
///
public SniHttpClientHanlder(
DomainResolver domainResolver,
- ILogger logger)
+ ILogger logger)
{
this.domainResolver = domainResolver;
this.logger = logger;