调试上游填写IP,且协议为HTTPS,重写Host证书验证失败的问题

This commit is contained in:
Liujian
2023-11-30 17:29:02 +08:00
parent 218f4b06ce
commit 1338f0d490
5 changed files with 25 additions and 16 deletions

View File

@@ -136,17 +136,19 @@ func (ctx *HttpContext) SendTo(scheme string, node eoscContext.INode, timeout ti
host := node.Addr()
request := ctx.proxyRequest.Request()
rewriteHost := string(request.Host())
passHost, targetHost := ctx.GetUpstreamHostHandler().PassHost()
switch passHost {
case eoscContext.PassHost:
case eoscContext.NodeHost:
rewriteHost = host
request.URI().SetHost(host)
case eoscContext.ReWriteHost:
rewriteHost = targetHost
request.URI().SetHost(targetHost)
}
beginTime := time.Now()
ctx.response.responseError = fasthttp_client.ProxyTimeout(scheme, node, request, &ctx.fastHttpRequestCtx.Response, timeout)
ctx.response.responseError = fasthttp_client.ProxyTimeout(scheme, rewriteHost, node, request, &ctx.fastHttpRequestCtx.Response, timeout)
agent := newRequestAgent(&ctx.proxyRequest, host, scheme, beginTime, time.Now())
if ctx.response.responseError != nil {
agent.setStatusCode(504)