Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

traefik reset a persistence connection to upstream #7154

Closed
ccdeville opened this issue Aug 7, 2020 · 6 comments
Closed

traefik reset a persistence connection to upstream #7154

ccdeville opened this issue Aug 7, 2020 · 6 comments
Labels
contributor/need-more-information kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. status/5-frozen-due-to-age

Comments

@ccdeville
Copy link

ccdeville commented Aug 7, 2020

Do you want to request a feature or report a bug?

Bug

What did you do?

I deploy traefik using daemonset in k8s
Client connection traefik use http/1.1
The client sends post request with keep-alive head and the reponse exceeds 4kb
The connection is busy no idle situation

What did you see instead?

The following log appears in traefik

reverseproxy.go:445: httputil: ReverseProxy read error during body copy: read tcp 10.0.0.1:55818->10.0.0.2:80: use of closed network connection

I captured all the traffic with tcpdump

9194	2020-08-04 11:28:10.486443	10.0.0.1	10.0.0.2	TCP	66	59958 → 80 [RST, ACK] Seq=28414 Ack=76298 Win=178304 Len=0 TSval=0 TSecr=279582616

I found this issue
GitHub Pages
Is this caused by go? How can I fix it.

Output of traefik version: (What version of Traefik are you using?)

Version:      2.2.8
Codename:     chevrotin
Go version:   go1.14.6
Built:        2020-07-28T15:46:03Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?

defaultEntryPoints = ["http"]
debug = false
logLevel = "WARN"
InsecureSkipVerify = true
[global]
  checkNewVersion = false
[entryPoints]
  [entryPoints.http]
  address = ":80"
[web]
  address = ":8090"
[api]
  insecure = true
  dashboard = true
  debug = false
[kubernetes]
[providers.kubernetesIngress]
  endpoint = "http://192.168.0.1:80"
[ping]
entryPoint = "http"
[log]
  filePath = "/data/traefik.log"
  level = "WARN"
[accessLog]
  filePath = "/data/access.log"
  [accessLog.filters]
    statusCodes = ["400-499", "500-504"]
    retryAttempts = true
    minDuration = "10ms"

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)

time+"2020-08-04T10:50:27Z" level=debug msg="Request has been aborted [10.0.0.1:55818 - /urlpath/1.aspx]: net/http:abort Handler" middlewareName=traefik-internal-recovery middlewareType=Recovery
@jbdoumenjou jbdoumenjou added contributor/need-more-information kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. and removed status/0-needs-triage labels Aug 7, 2020
@ccdeville
Copy link
Author

i write a proxy used golang ,The problem is still happen.

@kevtainer
Copy link
Contributor

Hi @ccdeville , thank you for submitting this issue. In order to investigate this further, it'd be helpful if the team had an example that can reproduce the issue. It sounds like this may be an issue with the net/http package, but if you could provide an example docker image and steps to reproduce, it'd help us better understand the issue you're encountering.

@kevtainer
Copy link
Contributor

potentially related, and may reproduce the issue on traefik -- caddyserver/caddy#3557 (comment)

@ccdeville ccdeville reopened this Aug 15, 2020
@ccdeville
Copy link
Author

Hi @notsureifkevin thank you for your reply,I write the example in this issue -- golang/go#40747

@traefiker
Copy link
Contributor

Hi! I'm Træfiker 🤖 the bot in charge of tidying up the issues.

I have to close this one because of its lack of activity 😞

Feel free to re-open it or join our Community Forum.

@tjsousa
Copy link

tjsousa commented Oct 15, 2020

A fix for this problem in our case (using a Kubernetes Daemon Set deployment for Traefik) was to change externalTrafficPolicy: Local (from the default Cluster). Thought I would share as we saw a concrete drop in the Resets as a consequence of this change and can help others.

@traefik traefik locked and limited conversation to collaborators Nov 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
contributor/need-more-information kind/bug/possible a possible bug that needs analysis before it is confirmed or fixed. status/5-frozen-due-to-age
Projects
None yet
Development

No branches or pull requests

5 participants